100Years 2 сар өмнө
parent
commit
ca85d0e1a1
100 өөрчлөгдсөн 1182 нэмэгдсэн , 98 устгасан
  1. 259 59
      AIEmoji.xcodeproj/project.pbxproj
  2. 22 7
      AIEmoji/AppDelegate.swift
  3. BIN
      AIEmoji/Assets.xcassets/App-Icon.imageset/App-Icon.png
  4. 21 0
      AIEmoji/Assets.xcassets/App-Icon.imageset/Contents.json
  5. 117 32
      AIEmoji/Assets.xcassets/AppIcon.appiconset/Contents.json
  6. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-1024.png
  7. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
  8. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
  9. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
  10. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
  11. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png
  12. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png
  13. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
  14. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
  15. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
  16. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
  17. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png
  18. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png
  19. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png
  20. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
  21. BIN
      AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  22. BIN
      AIEmoji/Assets.xcassets/Common/delete.imageset/delete@2x.png
  23. BIN
      AIEmoji/Assets.xcassets/Common/delete.imageset/delete@3x.png
  24. 22 0
      AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/Contents.json
  25. BIN
      AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/down_arrow_white@2x.png
  26. BIN
      AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/down_arrow_white@3x.png
  27. 22 0
      AIEmoji/Assets.xcassets/Common/launch_title.imageset/Contents.json
  28. BIN
      AIEmoji/Assets.xcassets/Common/launch_title.imageset/launch_title@2x.png
  29. BIN
      AIEmoji/Assets.xcassets/Common/launch_title.imageset/launch_title@3x.png
  30. 22 0
      AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/Contents.json
  31. BIN
      AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/placeholderImage@2x.png
  32. BIN
      AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/placeholderImage@3x.png
  33. 22 0
      AIEmoji/Assets.xcassets/Common/preview.imageset/Contents.json
  34. BIN
      AIEmoji/Assets.xcassets/Common/preview.imageset/preview@2x.png
  35. BIN
      AIEmoji/Assets.xcassets/Common/preview.imageset/preview@3x.png
  36. 6 0
      AIEmoji/Assets.xcassets/Diy/Contents.json
  37. 6 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/Contents.json
  38. 6 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/Contents.json
  39. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_A.imageset/Contents.json
  40. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_A.imageset/keyBoard_animal_A.png
  41. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_B.imageset/Contents.json
  42. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_B.imageset/keyBoard_animal_B.png
  43. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_C.imageset/Contents.json
  44. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_C.imageset/keyBoard_animal_C.png
  45. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_D.imageset/Contents.json
  46. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_D.imageset/keyBoard_animal_D.png
  47. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_E.imageset/Contents.json
  48. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_E.imageset/keyBoard_animal_E.png
  49. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_F.imageset/Contents.json
  50. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_F.imageset/keyBoard_animal_F.png
  51. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_G.imageset/Contents.json
  52. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_G.imageset/keyBoard_animal_G.png
  53. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_H.imageset/Contents.json
  54. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_H.imageset/keyBoard_animal_H.png
  55. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_I.imageset/Contents.json
  56. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_I.imageset/keyBoard_animal_I.png
  57. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_J.imageset/Contents.json
  58. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_J.imageset/keyBoard_animal_J.png
  59. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_K.imageset/Contents.json
  60. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_K.imageset/keyBoard_animal_K.png
  61. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_L.imageset/Contents.json
  62. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_L.imageset/keyBoard_animal_L.png
  63. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_M.imageset/Contents.json
  64. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_M.imageset/keyBoard_animal_M.png
  65. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_N.imageset/Contents.json
  66. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_N.imageset/keyBoard_animal_N.png
  67. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_O.imageset/Contents.json
  68. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_O.imageset/keyBoard_animal_O.png
  69. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_P.imageset/Contents.json
  70. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_P.imageset/keyBoard_animal_P.png
  71. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Q.imageset/Contents.json
  72. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Q.imageset/keyBoard_animal_Q.png
  73. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_R.imageset/Contents.json
  74. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_R.imageset/keyBoard_animal_R.png
  75. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_S.imageset/Contents.json
  76. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_S.imageset/keyBoard_animal_S.png
  77. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_T.imageset/Contents.json
  78. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_T.imageset/keyBoard_animal_T.png
  79. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_U.imageset/Contents.json
  80. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_U.imageset/keyBoard_animal_U.png
  81. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_V.imageset/Contents.json
  82. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_V.imageset/keyBoard_animal_V.png
  83. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_W.imageset/Contents.json
  84. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_W.imageset/keyBoard_animal_W.png
  85. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_X.imageset/Contents.json
  86. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_X.imageset/keyBoard_animal_X.png
  87. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Y.imageset/Contents.json
  88. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Y.imageset/keyBoard_animal_Y.png
  89. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Z.imageset/Contents.json
  90. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Z.imageset/keyBoard_animal_Z.png
  91. 6 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/Contents.json
  92. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_A.imageset/Contents.json
  93. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_A.imageset/keyBoard_flower_A.png
  94. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_B.imageset/Contents.json
  95. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_B.imageset/keyBoard_flower_B.png
  96. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_C.imageset/Contents.json
  97. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_C.imageset/keyBoard_flower_C.png
  98. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_D.imageset/Contents.json
  99. BIN
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_D.imageset/keyBoard_flower_D.png
  100. 21 0
      AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_E.imageset/Contents.json

+ 259 - 59
AIEmoji.xcodeproj/project.pbxproj

@@ -7,13 +7,42 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		A80E721A2D3F393A00C64288 /* DiyStickerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72192D3F393500C64288 /* DiyStickerModel.swift */; };
+		A80E721E2D3F3A7500C64288 /* DiyElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E721D2D3F3A7500C64288 /* DiyElement.swift */; };
+		A80E72202D3F3A8600C64288 /* DiyElementBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E721F2D3F3A8600C64288 /* DiyElementBaseView.swift */; };
+		A80E72222D3F3A9200C64288 /* DiyStickerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72212D3F3A9200C64288 /* DiyStickerElement.swift */; };
+		A80E72262D3F3A9A00C64288 /* HYHAddImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = A80E72252D3F3A9A00C64288 /* HYHAddImageView.m */; };
+		A80E72272D3F3A9A00C64288 /* DiyTextElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72232D3F3A9A00C64288 /* DiyTextElement.swift */; };
+		A80E722F2D3F3E1400C64288 /* TSDiyCanvasView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E722E2D3F3E0C00C64288 /* TSDiyCanvasView.swift */; };
+		A80E72352D3F473400C64288 /* DiyPaperTemplateBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72342D3F473400C64288 /* DiyPaperTemplateBaseView.swift */; };
+		A80E72362D3F473400C64288 /* DiyPaperTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72332D3F473400C64288 /* DiyPaperTemplate.swift */; };
+		A80E72382D3F473B00C64288 /* DiyPaperProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72372D3F473B00C64288 /* DiyPaperProtocol.swift */; };
+		A80E723C2D3F4CAA00C64288 /* Food🍔.json in Resources */ = {isa = PBXBuildFile; fileRef = A80E723B2D3F4CA700C64288 /* Food🍔.json */; };
+		A80E723F2D3F4D3700C64288 /* Universe🌍.json in Resources */ = {isa = PBXBuildFile; fileRef = A80E723E2D3F4D3000C64288 /* Universe🌍.json */; };
+		A80E72462D3F4EED00C64288 /* sticker.json in Resources */ = {isa = PBXBuildFile; fileRef = A80E72452D3F4EED00C64288 /* sticker.json */; };
+		A80E72482D3F4F0A00C64288 /* templates.json in Resources */ = {isa = PBXBuildFile; fileRef = A80E72472D3F4F0500C64288 /* templates.json */; };
+		A80E724D2D3F515B00C64288 /* TSBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E724C2D3F515200C64288 /* TSBaseViewModel.swift */; };
+		A80E724F2D3F6D7F00C64288 /* DiyFixedTextElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E724E2D3F6D6000C64288 /* DiyFixedTextElement.swift */; };
+		A80E72532D3F985E00C64288 /* TSWallpaperVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72522D3F985D00C64288 /* TSWallpaperVC.swift */; };
+		A80E72562D3F98D700C64288 /* TSDiyKeyboardViewVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72552D3F98D600C64288 /* TSDiyKeyboardViewVC.swift */; };
+		A80E72592D3FA67800C64288 /* TSWallpaperViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72582D3FA65E00C64288 /* TSWallpaperViewModel.swift */; };
+		A80E725C2D3FB09400C64288 /* TSKeyboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E725B2D3FB09100C64288 /* TSKeyboardView.swift */; };
+		A80E72632D40925000C64288 /* TSDiyKeyboardVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72622D40924500C64288 /* TSDiyKeyboardVM.swift */; };
+		A80E72652D409B0D00C64288 /* DiyStaticElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72642D409B0D00C64288 /* DiyStaticElement.swift */; };
+		A80E72672D409C7D00C64288 /* Template+More.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72662D409C7D00C64288 /* Template+More.swift */; };
+		A80E726A2D409E5400C64288 /* TSDiyTLYFlowersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72692D409D9400C64288 /* TSDiyTLYFlowersView.swift */; };
+		A80E726C2D409E8300C64288 /* TSDiyTLPinkAnimalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E726B2D409E8000C64288 /* TSDiyTLPinkAnimalView.swift */; };
+		A80E726F2D40DE2B00C64288 /* TSWallpaperPreviewVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E726E2D40DE2900C64288 /* TSWallpaperPreviewVC.swift */; };
+		A80E72722D40F86000C64288 /* TSLaunchVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72712D40F86000C64288 /* TSLaunchVC.swift */; };
+		A80E72742D40FEA600C64288 /* UIApplication+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72732D40FEA000C64288 /* UIApplication+Ex.swift */; };
+		A80E72772D41EFF900C64288 /* TSEmojisTutorialsVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72762D41EFF700C64288 /* TSEmojisTutorialsVC.swift */; };
+		A80E72792D42285500C64288 /* TSBootPageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A80E72782D42285500C64288 /* TSBootPageVC.swift */; };
 		A8EEADD42D3E6C660032C5A0 /* Flower💐.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADD32D3E6C610032C5A0 /* Flower💐.json */; };
 		A8EEADD62D3E6CD80032C5A0 /* Fish🐠.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADD52D3E6CD30032C5A0 /* Fish🐠.json */; };
 		A8EEADD82D3E74D20032C5A0 /* Pink🩷.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADD72D3E74CB0032C5A0 /* Pink🩷.json */; };
 		A8EEADDE2D3E75610032C5A0 /* Fruit🍊.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADDD2D3E755C0032C5A0 /* Fruit🍊.json */; };
 		A8EEADE02D3E75900032C5A0 /* Crystal🔮.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADDF2D3E75870032C5A0 /* Crystal🔮.json */; };
 		A8EEADE22D3E76110032C5A0 /* Dog🐕.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADE12D3E760C0032C5A0 /* Dog🐕.json */; };
-		A8EEADE42D3E763C0032C5A0 /* Food🍔.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADE32D3E76360032C5A0 /* Food🍔.json */; };
 		A8EEADE72D3E76860032C5A0 /* Drink🥤.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADE62D3E767E0032C5A0 /* Drink🥤.json */; };
 		A8EEADE92D3E76D90032C5A0 /* Beauty👸.json in Resources */ = {isa = PBXBuildFile; fileRef = A8EEADE82D3E76D30032C5A0 /* Beauty👸.json */; };
 		A8F7748B2D38E8B700AA6E93 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774812D38E8B700AA6E93 /* AppDelegate.swift */; };
@@ -47,7 +76,6 @@
 		A8F774F82D38EA8C00AA6E93 /* TSSimpleTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774D42D38EA8C00AA6E93 /* TSSimpleTableView.swift */; };
 		A8F774F92D38EA8C00AA6E93 /* UIColor+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774A82D38EA8C00AA6E93 /* UIColor+Ex.swift */; };
 		A8F774FA2D38EA8C00AA6E93 /* TSBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774942D38EA8C00AA6E93 /* TSBaseModel.swift */; };
-		A8F774FB2D38EA8C00AA6E93 /* TSNetwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774B62D38EA8C00AA6E93 /* TSNetwork.swift */; };
 		A8F774FE2D38EA8C00AA6E93 /* Int+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774A42D38EA8C00AA6E93 /* Int+Ex.swift */; };
 		A8F774FF2D38EA8C00AA6E93 /* UserDefault+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774B12D38EA8C00AA6E93 /* UserDefault+Ex.swift */; };
 		A8F775002D38EA8C00AA6E93 /* WindowHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774CD2D38EA8C00AA6E93 /* WindowHelper.swift */; };
@@ -55,7 +83,7 @@
 		A8F775022D38EA8C00AA6E93 /* Dictionary+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774A32D38EA8C00AA6E93 /* Dictionary+Ex.swift */; };
 		A8F775032D38EA8C00AA6E93 /* GlobalImports.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774B42D38EA8C00AA6E93 /* GlobalImports.swift */; };
 		A8F775062D38EA8C00AA6E93 /* Date+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774A22D38EA8C00AA6E93 /* Date+Ex.swift */; };
-		A8F775072D38EA8C00AA6E93 /* View+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774B22D38EA8C00AA6E93 /* View+Ex.swift */; };
+		A8F775072D38EA8C00AA6E93 /* UIView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774B22D38EA8C00AA6E93 /* UIView+Ex.swift */; };
 		A8F775082D38EA8C00AA6E93 /* UITableView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774AF2D38EA8C00AA6E93 /* UITableView+Ex.swift */; };
 		A8F775092D38EA8C00AA6E93 /* CommonSectionComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774D02D38EA8C00AA6E93 /* CommonSectionComponent.swift */; };
 		A8F7750A2D38EA8C00AA6E93 /* TSNetworkTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F774CB2D38EA8C00AA6E93 /* TSNetworkTool.swift */; };
@@ -64,13 +92,7 @@
 		A8F775172D38EB7400AA6E93 /* TSTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775162D38EB7400AA6E93 /* TSTabBarController.swift */; };
 		A8F775192D38EC6800AA6E93 /* TSEmojisVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775182D38EC6700AA6E93 /* TSEmojisVC.swift */; };
 		A8F7751B2D38EC9800AA6E93 /* TSGenmojiVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7751A2D38EC9700AA6E93 /* TSGenmojiVC.swift */; };
-		A8F7751D2D38ECA700AA6E93 /* TSWallpaperVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7751C2D38ECA600AA6E93 /* TSWallpaperVC.swift */; };
 		A8F775252D38ED8300AA6E93 /* TSConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775232D38ED8300AA6E93 /* TSConfig.swift */; };
-		A8F775282D38F08C00AA6E93 /* IBaseResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775262D38F08C00AA6E93 /* IBaseResponse.swift */; };
-		A8F775292D38F08C00AA6E93 /* INetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775272D38F08C00AA6E93 /* INetConfiguration.swift */; };
-		A8F7752E2D38F19D00AA6E93 /* NetResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7752B2D38F19D00AA6E93 /* NetResponse.swift */; };
-		A8F7752F2D38F19D00AA6E93 /* NetWork+HandyJson.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7752C2D38F19D00AA6E93 /* NetWork+HandyJson.swift */; };
-		A8F775302D38F19D00AA6E93 /* NetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7752A2D38F19D00AA6E93 /* NetConfiguration.swift */; };
 		A8F775322D38FA5E00AA6E93 /* UITextView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775312D38FA5200AA6E93 /* UITextView+Ex.swift */; };
 		A8F775352D38FC9A00AA6E93 /* TSViewTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775342D38FC9A00AA6E93 /* TSViewTool.swift */; };
 		A8F775382D390C3C00AA6E93 /* TSNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F775372D390C3C00AA6E93 /* TSNetworkManager.swift */; };
@@ -100,7 +122,6 @@
 		A8F776482D3DE9F600AA6E93 /* TSSmallIconBrowseCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F776472D3DE9C200AA6E93 /* TSSmallIconBrowseCell.swift */; };
 		A8F7764B2D3E008500AA6E93 /* TSEmojisChildColViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7764A2D3E007100AA6E93 /* TSEmojisChildColViewModel.swift */; };
 		A8F7764E2D3E00A800AA6E93 /* TSEmojisColViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7764D2D3E00A000AA6E93 /* TSEmojisColViewModel.swift */; };
-		A8FB02B02D3E39080031A396 /* Universe🌍.json in Resources */ = {isa = PBXBuildFile; fileRef = A8FB02AF2D3E39010031A396 /* Universe🌍.json */; };
 		A8FB02B32D3E39A40031A396 /* TSEmojisModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8FB02B22D3E399F0031A396 /* TSEmojisModel.swift */; };
 		A8FB02B72D3E3A3D0031A396 /* TSEmojisChildViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8FB02B62D3E3A3B0031A396 /* TSEmojisChildViewModel.swift */; };
 		A8FB02BA2D3E3BB20031A396 /* TSEmojisCoLItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8FB02B92D3E3BB00031A396 /* TSEmojisCoLItemCell.swift */; };
@@ -111,13 +132,44 @@
 /* Begin PBXFileReference section */
 		6E77A292B548CD79E381757E /* Pods-AIEmoji.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AIEmoji.release.xcconfig"; path = "Target Support Files/Pods-AIEmoji/Pods-AIEmoji.release.xcconfig"; sourceTree = "<group>"; };
 		86FB4D6AEFDDA7A2017F307C /* Pods_AIEmoji.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AIEmoji.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A80E72192D3F393500C64288 /* DiyStickerModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyStickerModel.swift; sourceTree = "<group>"; };
+		A80E721D2D3F3A7500C64288 /* DiyElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyElement.swift; sourceTree = "<group>"; };
+		A80E721F2D3F3A8600C64288 /* DiyElementBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyElementBaseView.swift; sourceTree = "<group>"; };
+		A80E72212D3F3A9200C64288 /* DiyStickerElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyStickerElement.swift; sourceTree = "<group>"; };
+		A80E72232D3F3A9A00C64288 /* DiyTextElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyTextElement.swift; sourceTree = "<group>"; };
+		A80E72242D3F3A9A00C64288 /* HYHAddImageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HYHAddImageView.h; sourceTree = "<group>"; };
+		A80E72252D3F3A9A00C64288 /* HYHAddImageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HYHAddImageView.m; sourceTree = "<group>"; };
+		A80E72282D3F3A9C00C64288 /* AIEmoji-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AIEmoji-Bridging-Header.h"; sourceTree = "<group>"; };
+		A80E722E2D3F3E0C00C64288 /* TSDiyCanvasView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSDiyCanvasView.swift; sourceTree = "<group>"; };
+		A80E72332D3F473400C64288 /* DiyPaperTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyPaperTemplate.swift; sourceTree = "<group>"; };
+		A80E72342D3F473400C64288 /* DiyPaperTemplateBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyPaperTemplateBaseView.swift; sourceTree = "<group>"; };
+		A80E72372D3F473B00C64288 /* DiyPaperProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyPaperProtocol.swift; sourceTree = "<group>"; };
+		A80E723B2D3F4CA700C64288 /* Food🍔.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Food🍔.json"; sourceTree = "<group>"; };
+		A80E723E2D3F4D3000C64288 /* Universe🌍.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Universe🌍.json"; sourceTree = "<group>"; };
+		A80E72452D3F4EED00C64288 /* sticker.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = sticker.json; sourceTree = "<group>"; };
+		A80E72472D3F4F0500C64288 /* templates.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = templates.json; sourceTree = "<group>"; };
+		A80E724C2D3F515200C64288 /* TSBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseViewModel.swift; sourceTree = "<group>"; };
+		A80E724E2D3F6D6000C64288 /* DiyFixedTextElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyFixedTextElement.swift; sourceTree = "<group>"; };
+		A80E72522D3F985D00C64288 /* TSWallpaperVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSWallpaperVC.swift; sourceTree = "<group>"; };
+		A80E72552D3F98D600C64288 /* TSDiyKeyboardViewVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSDiyKeyboardViewVC.swift; sourceTree = "<group>"; };
+		A80E72582D3FA65E00C64288 /* TSWallpaperViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSWallpaperViewModel.swift; sourceTree = "<group>"; };
+		A80E725B2D3FB09100C64288 /* TSKeyboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSKeyboardView.swift; sourceTree = "<group>"; };
+		A80E72622D40924500C64288 /* TSDiyKeyboardVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSDiyKeyboardVM.swift; sourceTree = "<group>"; };
+		A80E72642D409B0D00C64288 /* DiyStaticElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiyStaticElement.swift; sourceTree = "<group>"; };
+		A80E72662D409C7D00C64288 /* Template+More.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Template+More.swift"; sourceTree = "<group>"; };
+		A80E72692D409D9400C64288 /* TSDiyTLYFlowersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSDiyTLYFlowersView.swift; sourceTree = "<group>"; };
+		A80E726B2D409E8000C64288 /* TSDiyTLPinkAnimalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSDiyTLPinkAnimalView.swift; sourceTree = "<group>"; };
+		A80E726E2D40DE2900C64288 /* TSWallpaperPreviewVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSWallpaperPreviewVC.swift; sourceTree = "<group>"; };
+		A80E72712D40F86000C64288 /* TSLaunchVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLaunchVC.swift; sourceTree = "<group>"; };
+		A80E72732D40FEA000C64288 /* UIApplication+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+Ex.swift"; sourceTree = "<group>"; };
+		A80E72762D41EFF700C64288 /* TSEmojisTutorialsVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisTutorialsVC.swift; sourceTree = "<group>"; };
+		A80E72782D42285500C64288 /* TSBootPageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBootPageVC.swift; sourceTree = "<group>"; };
 		A8EEADD32D3E6C610032C5A0 /* Flower💐.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Flower💐.json"; sourceTree = "<group>"; };
 		A8EEADD52D3E6CD30032C5A0 /* Fish🐠.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Fish🐠.json"; sourceTree = "<group>"; };
 		A8EEADD72D3E74CB0032C5A0 /* Pink🩷.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Pink🩷.json"; sourceTree = "<group>"; };
 		A8EEADDD2D3E755C0032C5A0 /* Fruit🍊.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Fruit🍊.json"; sourceTree = "<group>"; };
 		A8EEADDF2D3E75870032C5A0 /* Crystal🔮.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Crystal🔮.json"; sourceTree = "<group>"; };
 		A8EEADE12D3E760C0032C5A0 /* Dog🐕.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Dog🐕.json"; sourceTree = "<group>"; };
-		A8EEADE32D3E76360032C5A0 /* Food🍔.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Food🍔.json"; sourceTree = "<group>"; };
 		A8EEADE62D3E767E0032C5A0 /* Drink🥤.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Drink🥤.json"; sourceTree = "<group>"; };
 		A8EEADE82D3E76D30032C5A0 /* Beauty👸.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Beauty👸.json"; sourceTree = "<group>"; };
 		A8F774692D38E8B000AA6E93 /* AIEmoji.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AIEmoji.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -154,9 +206,8 @@
 		A8F774AF2D38EA8C00AA6E93 /* UITableView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Ex.swift"; sourceTree = "<group>"; };
 		A8F774B02D38EA8C00AA6E93 /* UIViewController+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Ex.swift"; sourceTree = "<group>"; };
 		A8F774B12D38EA8C00AA6E93 /* UserDefault+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefault+Ex.swift"; sourceTree = "<group>"; };
-		A8F774B22D38EA8C00AA6E93 /* View+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Ex.swift"; sourceTree = "<group>"; };
+		A8F774B22D38EA8C00AA6E93 /* UIView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Ex.swift"; sourceTree = "<group>"; };
 		A8F774B42D38EA8C00AA6E93 /* GlobalImports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalImports.swift; sourceTree = "<group>"; };
-		A8F774B62D38EA8C00AA6E93 /* TSNetwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSNetwork.swift; sourceTree = "<group>"; };
 		A8F774C72D38EA8C00AA6E93 /* TSCommonTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSCommonTool.swift; sourceTree = "<group>"; };
 		A8F774CA2D38EA8C00AA6E93 /* TSFileManagerTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSFileManagerTool.swift; sourceTree = "<group>"; };
 		A8F774CB2D38EA8C00AA6E93 /* TSNetworkTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSNetworkTool.swift; sourceTree = "<group>"; };
@@ -170,13 +221,7 @@
 		A8F775162D38EB7400AA6E93 /* TSTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSTabBarController.swift; sourceTree = "<group>"; };
 		A8F775182D38EC6700AA6E93 /* TSEmojisVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisVC.swift; sourceTree = "<group>"; };
 		A8F7751A2D38EC9700AA6E93 /* TSGenmojiVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSGenmojiVC.swift; sourceTree = "<group>"; };
-		A8F7751C2D38ECA600AA6E93 /* TSWallpaperVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSWallpaperVC.swift; sourceTree = "<group>"; };
 		A8F775232D38ED8300AA6E93 /* TSConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSConfig.swift; sourceTree = "<group>"; };
-		A8F775262D38F08C00AA6E93 /* IBaseResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IBaseResponse.swift; sourceTree = "<group>"; };
-		A8F775272D38F08C00AA6E93 /* INetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = INetConfiguration.swift; sourceTree = "<group>"; };
-		A8F7752A2D38F19D00AA6E93 /* NetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetConfiguration.swift; sourceTree = "<group>"; };
-		A8F7752B2D38F19D00AA6E93 /* NetResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetResponse.swift; sourceTree = "<group>"; };
-		A8F7752C2D38F19D00AA6E93 /* NetWork+HandyJson.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NetWork+HandyJson.swift"; sourceTree = "<group>"; };
 		A8F775312D38FA5200AA6E93 /* UITextView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextView+Ex.swift"; sourceTree = "<group>"; };
 		A8F775342D38FC9A00AA6E93 /* TSViewTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSViewTool.swift; sourceTree = "<group>"; };
 		A8F775372D390C3C00AA6E93 /* TSNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSNetworkManager.swift; sourceTree = "<group>"; };
@@ -205,7 +250,6 @@
 		A8F776472D3DE9C200AA6E93 /* TSSmallIconBrowseCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSSmallIconBrowseCell.swift; sourceTree = "<group>"; };
 		A8F7764A2D3E007100AA6E93 /* TSEmojisChildColViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisChildColViewModel.swift; sourceTree = "<group>"; };
 		A8F7764D2D3E00A000AA6E93 /* TSEmojisColViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisColViewModel.swift; sourceTree = "<group>"; };
-		A8FB02AF2D3E39010031A396 /* Universe🌍.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "Universe🌍.json"; sourceTree = "<group>"; };
 		A8FB02B22D3E399F0031A396 /* TSEmojisModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisModel.swift; sourceTree = "<group>"; };
 		A8FB02B62D3E3A3B0031A396 /* TSEmojisChildViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisChildViewModel.swift; sourceTree = "<group>"; };
 		A8FB02B92D3E3BB00031A396 /* TSEmojisCoLItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSEmojisCoLItemCell.swift; sourceTree = "<group>"; };
@@ -243,6 +287,139 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
+		A80E72182D3F390A00C64288 /* DiySticker */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72192D3F393500C64288 /* DiyStickerModel.swift */,
+			);
+			path = DiySticker;
+			sourceTree = "<group>";
+		};
+		A80E721B2D3F3A3E00C64288 /* DiyWallpaper */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72322D3F471F00C64288 /* Templates */,
+				A80E721C2D3F3A5600C64288 /* Elemnet */,
+				A80E72182D3F390A00C64288 /* DiySticker */,
+			);
+			path = DiyWallpaper;
+			sourceTree = "<group>";
+		};
+		A80E721C2D3F3A5600C64288 /* Elemnet */ = {
+			isa = PBXGroup;
+			children = (
+				A80E721D2D3F3A7500C64288 /* DiyElement.swift */,
+				A80E721F2D3F3A8600C64288 /* DiyElementBaseView.swift */,
+				A80E72642D409B0D00C64288 /* DiyStaticElement.swift */,
+				A80E72212D3F3A9200C64288 /* DiyStickerElement.swift */,
+				A80E724E2D3F6D6000C64288 /* DiyFixedTextElement.swift */,
+				A80E72232D3F3A9A00C64288 /* DiyTextElement.swift */,
+				A80E72242D3F3A9A00C64288 /* HYHAddImageView.h */,
+				A80E72252D3F3A9A00C64288 /* HYHAddImageView.m */,
+				A80E72282D3F3A9C00C64288 /* AIEmoji-Bridging-Header.h */,
+			);
+			path = Elemnet;
+			sourceTree = "<group>";
+		};
+		A80E72322D3F471F00C64288 /* Templates */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72682D409D6600C64288 /* StaticTemplates */,
+				A80E72662D409C7D00C64288 /* Template+More.swift */,
+				A80E72332D3F473400C64288 /* DiyPaperTemplate.swift */,
+				A80E72372D3F473B00C64288 /* DiyPaperProtocol.swift */,
+				A80E72342D3F473400C64288 /* DiyPaperTemplateBaseView.swift */,
+			);
+			path = Templates;
+			sourceTree = "<group>";
+		};
+		A80E72442D3F4EDC00C64288 /* Json */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72452D3F4EED00C64288 /* sticker.json */,
+				A80E72472D3F4F0500C64288 /* templates.json */,
+			);
+			path = Json;
+			sourceTree = "<group>";
+		};
+		A80E72512D3F984700C64288 /* TSDiyKeyboardVC */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72572D3FA65400C64288 /* ViewModel */,
+				A80E72522D3F985D00C64288 /* TSWallpaperVC.swift */,
+			);
+			path = TSDiyKeyboardVC;
+			sourceTree = "<group>";
+		};
+		A80E72542D3F98CF00C64288 /* TSDiyKeyboardViewVC */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72612D40924000C64288 /* VM */,
+				A80E72602D4091FF00C64288 /* View */,
+				A80E72552D3F98D600C64288 /* TSDiyKeyboardViewVC.swift */,
+			);
+			path = TSDiyKeyboardViewVC;
+			sourceTree = "<group>";
+		};
+		A80E72572D3FA65400C64288 /* ViewModel */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72582D3FA65E00C64288 /* TSWallpaperViewModel.swift */,
+			);
+			path = ViewModel;
+			sourceTree = "<group>";
+		};
+		A80E72602D4091FF00C64288 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				A80E725B2D3FB09100C64288 /* TSKeyboardView.swift */,
+				A80E722E2D3F3E0C00C64288 /* TSDiyCanvasView.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		A80E72612D40924000C64288 /* VM */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72622D40924500C64288 /* TSDiyKeyboardVM.swift */,
+			);
+			path = VM;
+			sourceTree = "<group>";
+		};
+		A80E72682D409D6600C64288 /* StaticTemplates */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72692D409D9400C64288 /* TSDiyTLYFlowersView.swift */,
+				A80E726B2D409E8000C64288 /* TSDiyTLPinkAnimalView.swift */,
+			);
+			path = StaticTemplates;
+			sourceTree = "<group>";
+		};
+		A80E726D2D40DE0B00C64288 /* TSWallpaperPreviewVC */ = {
+			isa = PBXGroup;
+			children = (
+				A80E726E2D40DE2900C64288 /* TSWallpaperPreviewVC.swift */,
+			);
+			path = TSWallpaperPreviewVC;
+			sourceTree = "<group>";
+		};
+		A80E72702D40F85800C64288 /* LaunchVC */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72782D42285500C64288 /* TSBootPageVC.swift */,
+				A80E72712D40F86000C64288 /* TSLaunchVC.swift */,
+			);
+			path = LaunchVC;
+			sourceTree = "<group>";
+		};
+		A80E72752D41EFF000C64288 /* TSEmojisTutorialsVC */ = {
+			isa = PBXGroup;
+			children = (
+				A80E72762D41EFF700C64288 /* TSEmojisTutorialsVC.swift */,
+			);
+			path = TSEmojisTutorialsVC;
+			sourceTree = "<group>";
+		};
 		A8F774602D38E8B000AA6E93 = {
 			isa = PBXGroup;
 			children = (
@@ -279,10 +456,11 @@
 		A8F774922D38EA8C00AA6E93 /* Business */ = {
 			isa = PBXGroup;
 			children = (
+				A80E72702D40F85800C64288 /* LaunchVC */,
+				A8F775142D38EB5300AA6E93 /* TSWallpaperVC */,
 				A8F776402D3B75EA00AA6E93 /* General */,
 				A8F775332D38FC8E00AA6E93 /* VIewTool */,
 				A8F775152D38EB5D00AA6E93 /* TSSetingVC */,
-				A8F775142D38EB5300AA6E93 /* TSWallpaperVC */,
 				A8F775132D38EB3F00AA6E93 /* TSGenmojiVC */,
 				A8F775112D38EB2800AA6E93 /* TSEmojisVC */,
 				A8F775102D38EAE800AA6E93 /* TSTabBarController */,
@@ -293,6 +471,7 @@
 		A8F7749B2D38EA8C00AA6E93 /* BaseClass */ = {
 			isa = PBXGroup;
 			children = (
+				A80E724C2D3F515200C64288 /* TSBaseViewModel.swift */,
 				A8F774932D38EA8C00AA6E93 /* TSBaseCollectionCell.swift */,
 				A8F774942D38EA8C00AA6E93 /* TSBaseModel.swift */,
 				A8F774952D38EA8C00AA6E93 /* TSBaseNavigationBarView.swift */,
@@ -317,6 +496,7 @@
 		A8F774B32D38EA8C00AA6E93 /* Ex */ = {
 			isa = PBXGroup;
 			children = (
+				A80E72732D40FEA000C64288 /* UIApplication+Ex.swift */,
 				A8F7749E2D38EA8C00AA6E93 /* SwiftUI */,
 				A8F7749F2D38EA8C00AA6E93 /* Array+Ex.swift */,
 				A8F774A02D38EA8C00AA6E93 /* AVAsset+Ex.swift */,
@@ -337,7 +517,7 @@
 				A8F774AF2D38EA8C00AA6E93 /* UITableView+Ex.swift */,
 				A8F774B02D38EA8C00AA6E93 /* UIViewController+Ex.swift */,
 				A8F774B12D38EA8C00AA6E93 /* UserDefault+Ex.swift */,
-				A8F774B22D38EA8C00AA6E93 /* View+Ex.swift */,
+				A8F774B22D38EA8C00AA6E93 /* UIView+Ex.swift */,
 				A8F775312D38FA5200AA6E93 /* UITextView+Ex.swift */,
 			);
 			path = Ex;
@@ -354,10 +534,6 @@
 		A8F774B72D38EA8C00AA6E93 /* NetworkManager */ = {
 			isa = PBXGroup;
 			children = (
-				A8F7752D2D38F19D00AA6E93 /* middleware */,
-				A8F775262D38F08C00AA6E93 /* IBaseResponse.swift */,
-				A8F775272D38F08C00AA6E93 /* INetConfiguration.swift */,
-				A8F774B62D38EA8C00AA6E93 /* TSNetwork.swift */,
 				A8F775392D3918A100AA6E93 /* TSNetWork */,
 			);
 			path = NetworkManager;
@@ -445,6 +621,7 @@
 		A8F775112D38EB2800AA6E93 /* TSEmojisVC */ = {
 			isa = PBXGroup;
 			children = (
+				A80E72752D41EFF000C64288 /* TSEmojisTutorialsVC */,
 				A8F7761F2D3A3DBC00AA6E93 /* TSEmojisVC */,
 				A8F7761E2D3A3DB400AA6E93 /* TSEmojisChildVC */,
 			);
@@ -463,7 +640,11 @@
 		A8F775142D38EB5300AA6E93 /* TSWallpaperVC */ = {
 			isa = PBXGroup;
 			children = (
-				A8F7751C2D38ECA600AA6E93 /* TSWallpaperVC.swift */,
+				A80E726D2D40DE0B00C64288 /* TSWallpaperPreviewVC */,
+				A80E72542D3F98CF00C64288 /* TSDiyKeyboardViewVC */,
+				A80E72512D3F984700C64288 /* TSDiyKeyboardVC */,
+				A80E72442D3F4EDC00C64288 /* Json */,
+				A80E721B2D3F3A3E00C64288 /* DiyWallpaper */,
 			);
 			path = TSWallpaperVC;
 			sourceTree = "<group>";
@@ -493,16 +674,6 @@
 			path = Config;
 			sourceTree = "<group>";
 		};
-		A8F7752D2D38F19D00AA6E93 /* middleware */ = {
-			isa = PBXGroup;
-			children = (
-				A8F7752A2D38F19D00AA6E93 /* NetConfiguration.swift */,
-				A8F7752B2D38F19D00AA6E93 /* NetResponse.swift */,
-				A8F7752C2D38F19D00AA6E93 /* NetWork+HandyJson.swift */,
-			);
-			path = middleware;
-			sourceTree = "<group>";
-		};
 		A8F775332D38FC8E00AA6E93 /* VIewTool */ = {
 			isa = PBXGroup;
 			children = (
@@ -679,17 +850,17 @@
 		A8FB02AE2D3E38FA0031A396 /* Res */ = {
 			isa = PBXGroup;
 			children = (
+				A80E723E2D3F4D3000C64288 /* Universe🌍.json */,
+				A80E723B2D3F4CA700C64288 /* Food🍔.json */,
 				A8EEADE82D3E76D30032C5A0 /* Beauty👸.json */,
 				A8EEADE62D3E767E0032C5A0 /* Drink🥤.json */,
 				A8EEADDD2D3E755C0032C5A0 /* Fruit🍊.json */,
-				A8EEADE32D3E76360032C5A0 /* Food🍔.json */,
 				A8EEADE12D3E760C0032C5A0 /* Dog🐕.json */,
 				A8EEADDF2D3E75870032C5A0 /* Crystal🔮.json */,
 				A8EEADD72D3E74CB0032C5A0 /* Pink🩷.json */,
 				A8EEADD52D3E6CD30032C5A0 /* Fish🐠.json */,
 				A8EEADD32D3E6C610032C5A0 /* Flower💐.json */,
 				A8FB02D02D3E6B240031A396 /* Cat🐱.json */,
-				A8FB02AF2D3E39010031A396 /* Universe🌍.json */,
 			);
 			path = Res;
 			sourceTree = "<group>";
@@ -744,6 +915,7 @@
 				TargetAttributes = {
 					A8F774682D38E8B000AA6E93 = {
 						CreatedOnToolsVersion = 16.2;
+						LastSwiftMigration = 1620;
 					};
 				};
 			};
@@ -774,17 +946,19 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A80E72482D3F4F0A00C64288 /* templates.json in Resources */,
 				A8EEADD42D3E6C660032C5A0 /* Flower💐.json in Resources */,
 				A8EEADE92D3E76D90032C5A0 /* Beauty👸.json in Resources */,
 				A8EEADE02D3E75900032C5A0 /* Crystal🔮.json in Resources */,
+				A80E723C2D3F4CAA00C64288 /* Food🍔.json in Resources */,
 				A8EEADE72D3E76860032C5A0 /* Drink🥤.json in Resources */,
-				A8EEADE42D3E763C0032C5A0 /* Food🍔.json in Resources */,
 				A8FB02D12D3E6B2A0031A396 /* Cat🐱.json in Resources */,
+				A80E72462D3F4EED00C64288 /* sticker.json in Resources */,
 				A8EEADD62D3E6CD80032C5A0 /* Fish🐠.json in Resources */,
 				A8EEADE22D3E76110032C5A0 /* Dog🐕.json in Resources */,
 				A8EEADD82D3E74D20032C5A0 /* Pink🩷.json in Resources */,
+				A80E723F2D3F4D3700C64288 /* Universe🌍.json in Resources */,
 				A8EEADDE2D3E75610032C5A0 /* Fruit🍊.json in Resources */,
-				A8FB02B02D3E39080031A396 /* Universe🌍.json in Resources */,
 				A8F7748E2D38E8B700AA6E93 /* Assets.xcassets in Resources */,
 				A8F774902D38E8B700AA6E93 /* LaunchScreen.storyboard in Resources */,
 			);
@@ -841,15 +1015,24 @@
 			files = (
 				A8F775252D38ED8300AA6E93 /* TSConfig.swift in Sources */,
 				A8F774D92D38EA8C00AA6E93 /* UICollectionView+More.swift in Sources */,
+				A80E726C2D409E8300C64288 /* TSDiyTLPinkAnimalView.swift in Sources */,
+				A80E72652D409B0D00C64288 /* DiyStaticElement.swift in Sources */,
 				A8F774DA2D38EA8C00AA6E93 /* UIFont+Ex.swift in Sources */,
+				A80E72532D3F985E00C64288 /* TSWallpaperVC.swift in Sources */,
 				A8FB02B32D3E39A40031A396 /* TSEmojisModel.swift in Sources */,
 				A8F774DB2D38EA8C00AA6E93 /* AVAsset+Ex.swift in Sources */,
+				A80E72792D42285500C64288 /* TSBootPageVC.swift in Sources */,
+				A80E726A2D409E5400C64288 /* TSDiyTLYFlowersView.swift in Sources */,
 				A8F7764E2D3E00A800AA6E93 /* TSEmojisColViewModel.swift in Sources */,
 				A8F776422D3B75FC00AA6E93 /* TSBottomAlertVC.swift in Sources */,
 				A8F774DC2D38EA8C00AA6E93 /* NSString+Ex.swift in Sources */,
 				A8F775192D38EC6800AA6E93 /* TSEmojisVC.swift in Sources */,
+				A80E725C2D3FB09400C64288 /* TSKeyboardView.swift in Sources */,
 				A8F7753B2D3918DE00AA6E93 /* TSNetworkManager+Loading.swift in Sources */,
 				A8F774DE2D38EA8C00AA6E93 /* UIDevice+Extension.swift in Sources */,
+				A80E721A2D3F393A00C64288 /* DiyStickerModel.swift in Sources */,
+				A80E724D2D3F515B00C64288 /* TSBaseViewModel.swift in Sources */,
+				A80E726F2D40DE2B00C64288 /* TSWallpaperPreviewVC.swift in Sources */,
 				A8F775492D3935D600AA6E93 /* TSBusinessWebVC.swift in Sources */,
 				A8F776392D3B38E600AA6E93 /* TSGenmojiGennerateVC.swift in Sources */,
 				A8F774E02D38EA8C00AA6E93 /* TSCommonTool.swift in Sources */,
@@ -862,6 +1045,7 @@
 				A8F774E52D38EA8C00AA6E93 /* Color+Ex.swift in Sources */,
 				A8F7754E2D39E59100AA6E93 /* TSGenmojiModel.swift in Sources */,
 				A8F776452D3DE8A800AA6E93 /* TSSmallIconBrowseVC.swift in Sources */,
+				A80E72632D40925000C64288 /* TSDiyKeyboardVM.swift in Sources */,
 				A8F774E62D38EA8C00AA6E93 /* UIScreen.swift in Sources */,
 				A8F775432D39346400AA6E93 /* TSSetingModel.swift in Sources */,
 				A8F774E82D38EA8C00AA6E93 /* CollectionViewComponent.swift in Sources */,
@@ -870,53 +1054,62 @@
 				A8F774EC2D38EA8C00AA6E93 /* TSToastTool.swift in Sources */,
 				A8F775502D39ECED00AA6E93 /* PhotoManager.swift in Sources */,
 				A8F7763F2D3B68E100AA6E93 /* TSGenmojiGennerateViewModel.swift in Sources */,
+				A80E72352D3F473400C64288 /* DiyPaperTemplateBaseView.swift in Sources */,
+				A80E72362D3F473400C64288 /* DiyPaperTemplate.swift in Sources */,
+				A80E72722D40F86000C64288 /* TSLaunchVC.swift in Sources */,
 				A8F775352D38FC9A00AA6E93 /* TSViewTool.swift in Sources */,
+				A80E72592D3FA67800C64288 /* TSWallpaperViewModel.swift in Sources */,
 				A8F774ED2D38EA8C00AA6E93 /* Font+Ex.swift in Sources */,
 				A8F774EE2D38EA8C00AA6E93 /* UIViewController+Ex.swift in Sources */,
 				A8F774EF2D38EA8C00AA6E93 /* UIImage+Ex.swift in Sources */,
 				A8F774F02D38EA8C00AA6E93 /* TSBaseCollectionCell.swift in Sources */,
+				A80E722F2D3F3E1400C64288 /* TSDiyCanvasView.swift in Sources */,
 				A8F774F12D38EA8C00AA6E93 /* CGFloat+Ex.swift in Sources */,
 				A8F774F22D38EA8C00AA6E93 /* TSBaseView.swift in Sources */,
 				A8F774F42D38EA8C00AA6E93 /* TSBaseNavigationBarView.swift in Sources */,
 				A8F774F52D38EA8C00AA6E93 /* Array+Ex.swift in Sources */,
+				A80E72672D409C7D00C64288 /* Template+More.swift in Sources */,
 				A8F775172D38EB7400AA6E93 /* TSTabBarController.swift in Sources */,
 				A8F774F62D38EA8C00AA6E93 /* UIImageView+Ex.swift in Sources */,
 				A8F776272D3A6EC200AA6E93 /* TSGenmojiTextView.swift in Sources */,
 				A8F774F82D38EA8C00AA6E93 /* TSSimpleTableView.swift in Sources */,
 				A8F776352D3A7C2B00AA6E93 /* TSGenmojiColSectionView.swift in Sources */,
 				A8F774F92D38EA8C00AA6E93 /* UIColor+Ex.swift in Sources */,
+				A80E724F2D3F6D7F00C64288 /* DiyFixedTextElement.swift in Sources */,
 				A8F774FA2D38EA8C00AA6E93 /* TSBaseModel.swift in Sources */,
-				A8F7752E2D38F19D00AA6E93 /* NetResponse.swift in Sources */,
-				A8F7752F2D38F19D00AA6E93 /* NetWork+HandyJson.swift in Sources */,
 				A8F775452D39347100AA6E93 /* TSSetingViewModel.swift in Sources */,
-				A8F775302D38F19D00AA6E93 /* NetConfiguration.swift in Sources */,
-				A8F774FB2D38EA8C00AA6E93 /* TSNetwork.swift in Sources */,
+				A80E72202D3F3A8600C64288 /* DiyElementBaseView.swift in Sources */,
 				A8F776212D3A3F0200AA6E93 /* TSEmojisChildVC.swift in Sources */,
+				A80E72222D3F3A9200C64288 /* DiyStickerElement.swift in Sources */,
 				A8F774FE2D38EA8C00AA6E93 /* Int+Ex.swift in Sources */,
 				A8F774FF2D38EA8C00AA6E93 /* UserDefault+Ex.swift in Sources */,
 				A8F775002D38EA8C00AA6E93 /* WindowHelper.swift in Sources */,
 				A8F7764B2D3E008500AA6E93 /* TSEmojisChildColViewModel.swift in Sources */,
 				A8F775012D38EA8C00AA6E93 /* UIButton+Ex.swift in Sources */,
+				A80E72772D41EFF900C64288 /* TSEmojisTutorialsVC.swift in Sources */,
 				A8F775022D38EA8C00AA6E93 /* Dictionary+Ex.swift in Sources */,
 				A8F776482D3DE9F600AA6E93 /* TSSmallIconBrowseCell.swift in Sources */,
 				A8F7753D2D3918F800AA6E93 /* TSNetWork+Business.swift in Sources */,
-				A8F775282D38F08C00AA6E93 /* IBaseResponse.swift in Sources */,
+				A80E72262D3F3A9A00C64288 /* HYHAddImageView.m in Sources */,
+				A80E72272D3F3A9A00C64288 /* DiyTextElement.swift in Sources */,
 				A8FB02BA2D3E3BB20031A396 /* TSEmojisCoLItemCell.swift in Sources */,
-				A8F775292D38F08C00AA6E93 /* INetConfiguration.swift in Sources */,
-				A8F7751D2D38ECA700AA6E93 /* TSWallpaperVC.swift in Sources */,
+				A80E72562D3F98D700C64288 /* TSDiyKeyboardViewVC.swift in Sources */,
 				A8F775032D38EA8C00AA6E93 /* GlobalImports.swift in Sources */,
 				A8F775062D38EA8C00AA6E93 /* Date+Ex.swift in Sources */,
-				A8F775072D38EA8C00AA6E93 /* View+Ex.swift in Sources */,
+				A8F775072D38EA8C00AA6E93 /* UIView+Ex.swift in Sources */,
 				A8F775082D38EA8C00AA6E93 /* UITableView+Ex.swift in Sources */,
 				A8F7763C2D3B429B00AA6E93 /* TSCommonloadingView.swift in Sources */,
 				A8F775092D38EA8C00AA6E93 /* CommonSectionComponent.swift in Sources */,
 				A8F776322D3A771400AA6E93 /* TSGenmojiCollectionViewModel.swift in Sources */,
+				A80E72742D40FEA600C64288 /* UIApplication+Ex.swift in Sources */,
+				A80E721E2D3F3A7500C64288 /* DiyElement.swift in Sources */,
 				A8F776372D3A806E00AA6E93 /* TSGenmojiItemCell.swift in Sources */,
 				A8F7750A2D38EA8C00AA6E93 /* TSNetworkTool.swift in Sources */,
 				A8F7762D2D3A74A100AA6E93 /* TSGenmojiGennerateCell.swift in Sources */,
 				A8F775322D38FA5E00AA6E93 /* UITextView+Ex.swift in Sources */,
 				A8F7753F2D39340E00AA6E93 /* TSSetingVC.swift in Sources */,
 				A8F7762B2D3A70B200AA6E93 /* PaddedLabel.swift in Sources */,
+				A80E72382D3F473B00C64288 /* DiyPaperProtocol.swift in Sources */,
 				A8F775382D390C3C00AA6E93 /* TSNetworkManager.swift in Sources */,
 				A8F7750B2D38EA8C00AA6E93 /* TSBaseTabViewCell.swift in Sources */,
 				A8F7750D2D38EA8C00AA6E93 /* TSBaseVC.swift in Sources */,
@@ -946,30 +1139,34 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 13;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
 				INFOPLIST_FILE = AIEmoji/Info.plist;
-				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Allow us to access Photos in order to save emote to your device.";
+				INFOPLIST_KEY_CFBundleDisplayName = HahaEmoji;
+				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Allow us to access Photos in order to save emoji to your device.";
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
+				INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
 				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
 				MARKETING_VERSION = 1.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.tsyh.AIEmoji;
+				PRODUCT_BUNDLE_IDENTIFIER = com.girl.music.wallpaper;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
 				SUPPORTS_MACCATALYST = NO;
 				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
+				SWIFT_OBJC_BRIDGING_HEADER = "AIEmoji/Business/TSWallpaperVC/DiyWallpaper/Elemnet/AIEmoji-Bridging-Header.h";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = 1;
 			};
@@ -981,30 +1178,33 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 13;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
 				INFOPLIST_FILE = AIEmoji/Info.plist;
-				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Allow us to access Photos in order to save emote to your device.";
+				INFOPLIST_KEY_CFBundleDisplayName = HahaEmoji;
+				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Allow us to access Photos in order to save emoji to your device.";
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
-				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
+				INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
 				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
 				MARKETING_VERSION = 1.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.tsyh.AIEmoji;
+				PRODUCT_BUNDLE_IDENTIFIER = com.girl.music.wallpaper;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
 				SUPPORTS_MACCATALYST = NO;
 				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
+				SWIFT_OBJC_BRIDGING_HEADER = "AIEmoji/Business/TSWallpaperVC/DiyWallpaper/Elemnet/AIEmoji-Bridging-Header.h";
 				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = 1;
 			};

+ 22 - 7
AIEmoji/AppDelegate.swift

@@ -17,22 +17,37 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         window?.backgroundColor = UIColor.white
         window?.makeKeyAndVisible()
         
-        goToTab()
-        
+        goToLoadVC()
         return true
     }
 
-    
+    func goToLoadVC() {
+        let launchVC = TSLaunchVC()
+        launchVC.dismissHandler = { [weak self]  in
+            guard let self = self else { return }
+            JudgmentSkipPage()
+        }
+        window?.rootViewController = launchVC
+    }
+
     func goToTab(){
         window?.rootViewController = TSTabBarController()
     }
     
-    func addNetListener(){
-        TSNetworkShard.monitorNetworkPermission { success in
-            if success {
-                //PurchaseManager.default.requestProducts()
+
+    func JudgmentSkipPage() {
+        if UserDefaults.standard.string(forKey: "isFirstInstallApp") == nil {
+            window?.rootViewController = TSBootPageVC { [weak self]  in
+                guard let self = self else { return }
+                UserDefaults.standard.set("1", forKey: "isFirstInstallApp")
+                UserDefaults.standard.synchronize()
+                goToTab()
             }
+        }else{
+            goToTab()
         }
     }
+    
+
 }
 

BIN
AIEmoji/Assets.xcassets/App-Icon.imageset/App-Icon.png


+ 21 - 0
AIEmoji/Assets.xcassets/App-Icon.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "App-Icon.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 117 - 32
AIEmoji/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,35 +1,120 @@
 {
-  "images" : [
-    {
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "tinted"
+    "images": [
+        {
+            "size": "20x20",
+            "idiom": "universal",
+            "filename": "icon-20@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "20x20",
+            "idiom": "universal",
+            "filename": "icon-20@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "29x29",
+            "idiom": "universal",
+            "filename": "icon-29@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "29x29",
+            "idiom": "universal",
+            "filename": "icon-29@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "38x38",
+            "idiom": "universal",
+            "filename": "icon-38@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "38x38",
+            "idiom": "universal",
+            "filename": "icon-38@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "40x40",
+            "idiom": "universal",
+            "filename": "icon-40@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "40x40",
+            "idiom": "universal",
+            "filename": "icon-40@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "60x60",
+            "idiom": "universal",
+            "filename": "icon-60@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "60x60",
+            "idiom": "universal",
+            "filename": "icon-60@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "64x64",
+            "idiom": "universal",
+            "filename": "icon-64@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "64x64",
+            "idiom": "universal",
+            "filename": "icon-64@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "68x68",
+            "idiom": "universal",
+            "filename": "icon-68@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "76x76",
+            "idiom": "universal",
+            "filename": "icon-76@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "83.5x83.5",
+            "idiom": "universal",
+            "filename": "icon-83.5@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "1024x1024",
+            "idiom": "universal",
+            "filename": "icon-1024.png",
+            "scale": "1x",
+            "platform": "ios"
         }
-      ],
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
+    ],
+    "info": {
+        "version": 1,
+        "author": "icon.wuruihong.com"
     }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
+}

BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-1024.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png


BIN
AIEmoji/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png


BIN
AIEmoji/Assets.xcassets/Common/delete.imageset/delete@2x.png


BIN
AIEmoji/Assets.xcassets/Common/delete.imageset/delete@3x.png


+ 22 - 0
AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "down_arrow_white@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "down_arrow_white@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/down_arrow_white@2x.png


BIN
AIEmoji/Assets.xcassets/Common/down_arrow_white.imageset/down_arrow_white@3x.png


+ 22 - 0
AIEmoji/Assets.xcassets/Common/launch_title.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "launch_title@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "launch_title@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Common/launch_title.imageset/launch_title@2x.png


BIN
AIEmoji/Assets.xcassets/Common/launch_title.imageset/launch_title@3x.png


+ 22 - 0
AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "placeholderImage@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "placeholderImage@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/placeholderImage@2x.png


BIN
AIEmoji/Assets.xcassets/Common/placeholderImage.imageset/placeholderImage@3x.png


+ 22 - 0
AIEmoji/Assets.xcassets/Common/preview.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "preview@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "preview@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Common/preview.imageset/preview@2x.png


BIN
AIEmoji/Assets.xcassets/Common/preview.imageset/preview@3x.png


+ 6 - 0
AIEmoji/Assets.xcassets/Diy/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 6 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 6 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_A.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_A.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_A.imageset/keyBoard_animal_A.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_B.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_B.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_B.imageset/keyBoard_animal_B.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_C.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_C.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_C.imageset/keyBoard_animal_C.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_D.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_D.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_D.imageset/keyBoard_animal_D.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_E.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_E.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_E.imageset/keyBoard_animal_E.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_F.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_F.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_F.imageset/keyBoard_animal_F.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_G.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_G.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_G.imageset/keyBoard_animal_G.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_H.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_H.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_H.imageset/keyBoard_animal_H.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_I.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_I.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_I.imageset/keyBoard_animal_I.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_J.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_J.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_J.imageset/keyBoard_animal_J.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_K.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_K.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_K.imageset/keyBoard_animal_K.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_L.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_L.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_L.imageset/keyBoard_animal_L.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_M.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_M.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_M.imageset/keyBoard_animal_M.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_N.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_N.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_N.imageset/keyBoard_animal_N.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_O.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_O.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_O.imageset/keyBoard_animal_O.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_P.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_P.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_P.imageset/keyBoard_animal_P.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Q.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_Q.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Q.imageset/keyBoard_animal_Q.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_R.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_R.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_R.imageset/keyBoard_animal_R.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_S.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_S.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_S.imageset/keyBoard_animal_S.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_T.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_T.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_T.imageset/keyBoard_animal_T.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_U.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_U.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_U.imageset/keyBoard_animal_U.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_V.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_V.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_V.imageset/keyBoard_animal_V.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_W.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_W.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_W.imageset/keyBoard_animal_W.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_X.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_X.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_X.imageset/keyBoard_animal_X.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Y.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_Y.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Y.imageset/keyBoard_animal_Y.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Z.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_animal_Z.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/animal/keyBoard_animal_Z.imageset/keyBoard_animal_Z.png


+ 6 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_A.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_flower_A.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_A.imageset/keyBoard_flower_A.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_B.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_flower_B.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_B.imageset/keyBoard_flower_B.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_C.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_flower_C.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_C.imageset/keyBoard_flower_C.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_D.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_flower_D.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_D.imageset/keyBoard_flower_D.png


+ 21 - 0
AIEmoji/Assets.xcassets/Diy/KeyBoard/flower/keyBoard_flower_E.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "keyBoard_flower_E.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно