en.json 19.8 KB
Newer Older
LiangLiu's avatar
LiangLiu committed
1
{
LiangLiu's avatar
LiangLiu committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    "starOnGitHub": "Star on GitHub",
    "pageNotFound": "Page Not Found",
    "pageNotFoundDescription": "The page you are looking for does not exist.",
    "goBackHome": "Home",
    "goBack": "Go back",
    "viewErrorDetails": "Error Details",
    "viewAll": "All",
    "stop": "Stop",
    "preview": "Preview",
    "share": "Share",
    "noAvailableTemplates": "No available templates",
    "pleaseSelectTaskType": "Please select task type first",
    "textToSpeech": "Text to Speech",
    "historyTask": "History Task",
LiangLiu's avatar
LiangLiu committed
16
17
18
19
20
21
22
23
24
25
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
52
53
54
55
56
57
58
59
60
61
62
63
64
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
91
92
93
94
95
96
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
123
124
125
126
127
128
129
130
131
132
133
134
    "total": "Total",
    "tasks": "tasks",
    "records": "records",
    "goToHome": "Go to Home",
    "imageTemplates": "Image Templates",
    "audioTemplates": "Audio Templates",
    "noImageTemplates": "No image templates",
    "noAudioTemplates": "No audio templates",
    "templateDetail": "Template detail",
    "viewTemplateDetail": "View Template Detail",
    "viewTaskDetails": "View Task Details",
    "templateInfo": "Template Info",
    "model": "Model",
    "type": "Type",
    "inputMaterials": "Input Materials",
    "inputImage": "Input Image",
    "inputAudio": "Input Audio",
    "optional": "(Optional)",
    "pageTitle": "LightX2V Service",
    "pleaseEnterThePromptForVideoGeneration": "Please enter the prompt for video generation",
    "describeTheContentStyleSceneOfTheVideo": "Describe the content, style, and scene of the video...",
    "describeTheDigitalHumanImageBackgroundStyleActionRequirements": "Describe the digital human expression, tone, and action...",
    "describeTheContentActionRequirementsBasedOnTheImage": "Describe the content and action requirements based on the image...",
    "loginSubtitle": "A powerful video generation platform",
    "whatDoYouWantToDo": "What do you want to do today?",
    "whatMaterialsDoYouNeed": "What materials do you need to create a video?",
    "pleaseEnterTheMostDetailedVideoScript": "Please enter the most detailed video script",
    "pleaseUploadAnImageAsTheFirstFrameOfTheVideoAndTheMostDetailedVideoScript": "Please upload an image as the first frame of the video and the most detailed video script",
    "pleaseUploadARoleImageAnAudioAndTheGeneralVideoRequirements": "Please upload a role image, an audio, and the general video requirements",
    "collapseCreationArea": "Collapse creation area",
    "startCreatingVideo": "Start creating video···",
    "loginWithGitHub": "GitHub",
    "loginWithGoogle": "Google",
    "loginWithSMS": "SMS",
    "loggingIn": "Logging in...",
    "logout": "Logout",
    "loggedOut": "Logged out",
    "loginFailed": "Login failed",
    "loginError": "Error occurred during login",
    "authFailed": "Authentication failed, please login again",
    "loginExpired": "Login expired, please login again",
    "orLoginWith": "Or login with",
    "login": "Login / Register",
    "loginLoading": "Logging in···",
    "sendSmsCode": "Send SMS",
    "phoneNumber": "Phone Number",
    "verifyCode": "Verify Code",
    "feature1": "Cinema-grade digital human videos",
    "feature2": "20x faster generation",
    "feature3": "Ultra-low cost generation",
    "feature4": "Precise lip-sync alignment",
    "feature5": "Minute-level video duration",
    "feature6": "Multi-scenario applications",
    "generateVideo": "Generate Video",
    "history": "History",
    "inspiration": "Inspiration",
    "discoverCreativity": "Discover creativity, inspire ideas",
    "searchTasks": "Search history tasks...",
    "searchInspiration": "Search inspiration...",
    "refresh": "Refresh task list",
    "noHistoryTasks": "No history tasks",
    "startToCreateYourFirstAIVideo": "Start creating your first AI video",
    "switchLanguage": "Switch Language",
    "selectTaskType": "Select Task Type",
    "selectTaskTypeFirst": "Please select task type first",
    "noHistoryRecords": "No history records",
    "imageHistoryAutoSave": "Image history will be automatically saved when you start using images",
    "audioHistoryAutoSave": "Audio history will be automatically saved when you start using audio",
    "clearHistory": "Clear history",
    "clear": "Clear",
    "promptHistoryAutoSave": "Prompt history will be automatically saved when you start creating tasks",
    "promptTip": "Describe the video content you want in detail",
    "viewFailureReason": "View Failure Reason",
    "failureReason": "Failure Reason",
    "noPrompt": "No Prompt",
    "uploadMaterials": "Upload Materials",
    "image": "Image",
    "audioFile": "Audio File",
    "myProjects": "My Projects",
    "initializationFailed": "Initialization Failed, Please Refresh The Page",
    "browserNotSupported": "Browser Not Supported",
    "videoLoadFailed": "Video Load Failed",
    "loadingVideo": "Loading Video···",
    "videoGenerating": "Video Generating",
    "taskProgress": "Task Progress",
    "subtask": "Subtask",
    "queuePosition": "Waiting for",
    "availableWorker": "Available Worker",
    "videoGeneratingFailed": "Video Generating Failed",
    "sorryYourVideoGenerationTaskFailed": "Sorry Your Video Generation Task Failed",
    "thisTaskHasBeenCancelledYouCanRegenerateOrViewTheMaterialsYouUploadedBefore": "This Task Has Been Cancelled You Can Regenerate Or View The Materials You Uploaded Before",
    "taskCompleted": "Task Completed",
    "taskFailed": "Task Failed",
    "taskCancelled": "Cancelled",
    "taskRunning": "Task Running",
    "taskPending": "Task Pending",
    "taskInfo": "Task Info",
    "taskID": "Task ID",
    "modelName": "Model Name",
    "createTime": "Create Time",
    "updateTime": "Update Time",
    "aiIsGeneratingYourVideo": "LightX2V is generating your video...",
    "taskSubmittedSuccessfully": "Task submitted successfully, accelerating processing...",
    "taskQueuePleaseWait": "The task is a little bit, accelerating queueing...",
    "success": "Success",
    "failed": "Failed",
    "pending": "Waiting",
    "cancelled": "Cancelled",
    "all": "All",
    "created": "Created",
    "status": "Status",
    "reuseTask": "Reuse",
    "regenerateTask": "Retry",
    "retryTask": "Retry",
    "downloadTask": "Download Video",
    "downloadVideo": "Download Video",
    "deleteTask": "Delete",
    "cancelTask": "Cancel",
    "download": "Download",
LiangLiu's avatar
LiangLiu committed
135
136
137
138
139
140
141
142
143
144
145
146
    "downloadPreparing": "Preparing download...",
    "downloadFetching": "Fetching file...",
    "downloadSaving": "Saving file...",
    "mobileSaveToAlbumTip": "Long press the video in the new tab to save it to your gallery.",
    "mobileSavePreviewTitle": "Preview & Save",
    "mobileSaveInstruction": "Tap the full-screen button or long press the video to save it to your photo library.",
    "mute": "Mute",
    "unmute": "Unmute",
    "unsupportedAudioOrVideo": "Please select an audio or video file.",
    "unsupportedVideoFormat": "Only MP4/M4V/MPEG video files are supported for audio extraction.",
    "downloadInProgressNotice": "A download is already in progress. Please wait.",
    "downloadCancelledAlert": "Download cancelled",
LiangLiu's avatar
LiangLiu committed
147
148
149
    "createVideo": "Create Video",
    "selectTemplate": "Select Template",
    "uploadImage": "Upload Image",
LiangLiu's avatar
LiangLiu committed
150
    "uploadAudio": "Upload Audio or Video",
LiangLiu's avatar
LiangLiu committed
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
    "recordAudio": "Record Audio",
    "recording": "Recording...",
    "takePhoto": "Take Photo",
    "retake": "Retake",
    "usePhoto": "Use Photo",
    "upload": "Upload",
    "stopRecording": "Stop Recording",
    "recordingStarted": "Recording started",
    "recordingStopped": "Recording stopped",
    "recordingCompleted": "Recording completed",
    "recordingFailed": "Recording failed",
    "enterPrompt": "Enter Prompt",
    "selectModel": "Select Model",
    "startGeneration": "Start Generation",
    "templates": "Templates",
    "useTemplate": "Use Template",
    "applyImage": "Apply Image",
    "applyAudio": "Apply Audio",
    "featuredTemplates": "Featured Templates",
    "discoverFeaturedCreativity": "Discover Featured Creativity",
    "refreshRandomTemplates": "Refresh Random Templates",
    "discover": "Discover",
    "viewMoreTemplates": "View More Templates",
    "searchTemplates": "Search Templates",
    "browseCategories": "Browse Categories",
    "inspirationGallery": "Inspirations",
    "viewMore": "View More",
    "more": "More",
    "applyPrompt": "Apply Prompt",
    "imageApplied": "Image applied",
    "audioApplied": "Audio applied",
    "promptApplied": "Prompt applied",
    "copy": "Copy",
LiangLiu's avatar
LiangLiu committed
184
    "view": "View",
LiangLiu's avatar
LiangLiu committed
185
186
187
188
189
    "promptCopied": "Prompt copied to clipboard",
    "outputVideo": "Output Video",
    "textToVideo": "Text to Video",
    "imageToVideo": "Image to Video",
    "speechToVideo": "Speech to Video",
LiangLiu's avatar
LiangLiu committed
190
    "prompt": "Prompt (Optional)",
LiangLiu's avatar
LiangLiu committed
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
    "negativePrompt": "Negative Prompt",
    "promptTemplates": "Prompt Templates",
    "promptHistory": "Prompt History",
    "t2vHint1": "Enter text description, AI will generate精彩的视频内容",
    "t2vHint2": "Support multiple styles: realistic, animation, art, etc.",
    "t2vHint3": "Can describe scenes, actions, emotions, etc.",
    "t2vHint4": "Let your creativity become a vivid video",
    "i2vHint1": "Upload an image, AI will generate dynamic video",
    "i2vHint2": "Support multiple image formats: JPG, PNG, WebP, etc.",
    "i2vHint3": "Can generate various dynamic effects.",
    "i2vHint4": "Let static image become dynamic, create infinite possibilities",
    "s2vHint1": "Upload a role image + an audio",
    "s2vHint2": "AI will make the role speak and move according to the audio content.",
    "s2vHint3": "Let your role become alive.",
    "s2vHint4": "Create your own digital person.",
    "uploadImageFile": "Upload Image File",
LiangLiu's avatar
LiangLiu committed
207
    "uploadAudioFile": "Upload Audio or Video File",
LiangLiu's avatar
LiangLiu committed
208
209
    "dragDropHere": "Drag and drop files here or click to upload",
    "supportedImageFormats": "Supported jpg, png, webp image formats (< 10MB)",
LiangLiu's avatar
LiangLiu committed
210
211
212
213
214
    "supportedAudioFormats": "Supports audio or video formats (< 120s).",
    "supportedAudioFormatsShort": "Supports audio or video formats (< 120s).",
    "prefillLoadingDefault": "Preparing materials...",
    "prefillLoadingTemplate": "Loading template assets...",
    "prefillLoadingTask": "Loading task materials...",
LiangLiu's avatar
LiangLiu committed
215
216
    "clearCharacterImageTip": "Upload a clear character image",
    "maxFileSize": "Max file size",
LiangLiu's avatar
LiangLiu committed
217
    "taskDetail": "Task Details",
LiangLiu's avatar
LiangLiu committed
218
219
220
221
222
223
224
225
226
227
228
229
    "taskId": "Task ID",
    "taskType": "Task Type",
    "taskStatus": "Task Status",
    "createdAt": "Created At",
    "completedAt": "Completed At",
    "duration": "Duration",
    "confirm": "Confirm",
    "cancel": "Cancel",
    "save": "Save",
    "edit": "Edit",
    "delete": "Delete",
    "close": "Close",
LiangLiu's avatar
LiangLiu committed
230
231
    "copyLink": "Copy Link",
    "pleaseCopyManually": "Please manually select and copy the text below",
LiangLiu's avatar
LiangLiu committed
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
    "back": "Back",
    "next": "Next",
    "previous": "Previous",
    "finish": "Finish",
    "submitting": "Submitting...",
    "operationSuccess": "Operation successful",
    "operationFailed": "Operation failed",
    "pleaseWait": "Please wait...",
    "loading": "Loading···",
    "noData": "No data",
    "errorOccurred": "Error occurred",
    "networkError": "Network error",
    "serverError": "Server error",
    "seconds": "seconds",
    "deleteTaskConfirm": "Delete Task?",
    "deleteTaskConfirmMessage": "This action cannot be undone. It will delete the task record, generated files, and related data.",
    "confirmDelete": "Delete",
    "regenerateTaskConfirm": "Regenerate Task?",
    "regenerateTaskConfirmMessage": "Regenerating will delete the current task and generated content, then create a new task with the same parameters. This action cannot be undone!",
    "confirmRegenerate": "Regenerate",
    "regeneratingTaskAlert": "Regenerating task...",
    "deletingTaskAlert": "Deleting task...",
    "taskDeletedSuccessAlert": "Task deleted successfully",
    "deleteTaskFailedAlert": "Delete task failed",
    "getTaskDetailFailedAlert": "Get task detail failed",
    "taskNotExistAlert": "Task not exist",
    "loadTaskFilesFailedAlert": "Load task files failed",
    "taskMaterialReuseSuccessAlert": "Task material reuse successfully",
    "loadTaskDataFailedAlert": "Load task data failed",
    "fileUnavailableAlert": "File unavailable",
LiangLiu's avatar
LiangLiu committed
262
    "downloadFailedAlert": "Download failed. Please try again.",
LiangLiu's avatar
LiangLiu committed
263
264
265
    "taskSubmitSuccessAlert": "Task submit successfully",
    "taskSubmitFailedAlert": "Task submit failed",
    "submitTaskFailedAlert": "Submit task failed",
LiangLiu's avatar
LiangLiu committed
266
    "downloadSuccessAlert": "File download successfully",
LiangLiu's avatar
LiangLiu committed
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
    "getTaskResultFailedAlert": "Get task result failed",
    "downloadTaskResultFailedAlert": "Download task result failed",
    "viewTaskResultFailedAlert": "View task result failed",
    "cancelTaskConfirm": "Cancel task?",
    "cancelTaskConfirmMessage": "Cancel task will stop the task execution, and the generated part of the result may be lost, can be regenerated later.",
    "confirmCancel": "Cancel",
    "taskCancelSuccessAlert": "Task cancel successfully",
    "cancelTaskFailedAlert": "Cancel task failed",
    "taskRetrySuccessAlert": "Task retry successfully",
    "retryTaskFailedAlert": "Retry task failed",
    "taskRegenerateSuccessAlert": "Task regenerated successfully",
    "regenerateTaskFailedAlert": "Regenerate task failed",
    "taskNotFoundAlert": "Task not found",
    "templateApplied": "Template applied",
    "shareTemplate": "Share",
LiangLiu's avatar
LiangLiu committed
282
    "copyShareLink": "Share",
LiangLiu's avatar
LiangLiu committed
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
    "promptHistoryApplied": "Prompt history applied",
    "promptHistoryCleared": "Prompt history cleared",
    "getPromptHistoryFailed": "Get prompt history failed",
    "saveTaskHistoryFailed": "Save task history failed",
    "parseTaskHistoryFailed": "Parse task history failed",
    "getTaskHistoryFailed": "Get task history failed",
    "getImageHistoryFailed": "Get image history failed",
    "taskHistorySaved": "Task history saved",
    "taskHistoryCleared": "Task history cleared",
    "clickToDownload": "Click to download",
    "clickApply": "Click to apply",
    "justNow": "Just now",
    "minutesAgo": "minutes ago",
    "hoursAgo": "hours ago",
    "daysAgo": "days ago",
    "weeksAgo": "weeks ago",
    "monthsAgo": "months ago",
    "yearsAgo": "years ago",
    "oneMinuteAgo": "one minute ago",
    "oneHourAgo": "one hour ago",
    "oneDayAgo": "one day ago",
    "oneWeekAgo": "one week ago",
    "oneMonthAgo": "one month ago",
    "oneYearAgo": "one year ago",
    "shareNotFound": "Share not found",
    "backToHome": "Back to Home",
    "videoNotAvailable": "Video not available",
    "createdWithAI": "Created with AI",
    "createSimilar": "Create Similar",
    "createSimilarDescription": "Click the button to create your video with the same settings",
    "shareDataImported": "Share data imported successfully",
    "shareDataImportFailed": "Failed to import share data",
    "templatesGeneratedByLightX2V": "The following videos are generated by LightX2V, hover/click to play",
    "materials": "Materials",
    "template": "Template",
    "templateDescription": "The video is generated by LightX2V-digital human model",
    "pleaseLoginFirst": "Please login first",
    "showDetails": "Show Details",
    "hideDetails": "Hide Details",
LiangLiu's avatar
LiangLiu committed
322
    "shareLinkCopied": "Share link copied",
LiangLiu's avatar
LiangLiu committed
323
324
325
326
    "randomTemplates": "Random Refresh Templates",
    "oneClickReplication": "One-click replication",
    "customizableContent": "Customizable content",
    "poweredByLightX2V": "Speed-generated video - LightX2V",
LiangLiu's avatar
LiangLiu committed
327
    "latestAIModel": "Latest AI digital human model, rapid video generation",
LiangLiu's avatar
LiangLiu committed
328
329
330
331
332
333
334
335
336
337
338
    "customizableCharacter": "Freely customizable characters and audio",
    "userGeneratedVideo": " generated video",
    "noImage": "No Images",
    "noAudio": "No Audio",
    "taskCompletedSuccessfully": "LightX2V has generated video for you successfully",
    "onlyUseImage": "Only use image",
    "onlyUseAudio": "Only use audio",
    "reUseImage": "Reuse image",
    "reUseAudio": "Reuse audio",
    "templateVideo": "Speech-to-video generation template",
    "description": "The video is generated by LightX2V",
LiangLiu's avatar
LiangLiu committed
339
340
341
342
    "timeCost": "Time cost ",
    "voiceSynthesis": "Voice Synthesis",
    "applySelectedVoice": "Apply selected voice",
    "generatedAudio": "Generated Audio",
LiangLiu's avatar
LiangLiu committed
343
    "synthesizedAudio": "Synthesized Audio",
LiangLiu's avatar
LiangLiu committed
344
345
346
347
348
349
350
351
352
    "enterTextToConvert": "Enter text to convert",
    "ttsPlaceholder": "Hello, how can I help you?",
    "voiceInstruction": "Voice Instruction",
    "voiceInstructionHint": "(Only for v2.0 voices)",
    "voiceInstructionPlaceholder": "Use instruction to control voice details, including emotion, context, dialect, tone, speed, pitch, etc. Example: Say with a shy yet gentle tone",
    "selectVoice": "Select Voice",
    "searchVoice": "Search Voice",
    "filter": "Filter",
    "filterVoices": "Filter Voices",
LiangLiu's avatar
LiangLiu committed
353
    "voiceSettings": "Voice Settings",
LiangLiu's avatar
LiangLiu committed
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
    "speechRate": "Speech Rate",
    "volume": "Volume",
    "pitch": "Pitch",
    "emotionIntensity": "Emotion Intensity",
    "emotionType": "Emotion Type",
    "neutral": "Neutral",
    "scene": "Scene",
    "version": "Version",
    "language": "Language",
    "gender": "Gender",
    "reset": "Reset",
    "done": "Done",
    "ttsGenerationFailed": "TTS generation failed, please retry",
    "applyAudioFailed": "Apply audio failed, please retry",
    "allScenes": "All Scenes",
    "generalScene": "General",
    "customerServiceScene": "Customer Service",
    "educationScene": "Education",
    "funAccent": "Fun Accent",
    "rolePlaying": "Role Playing",
    "audiobook": "Audiobook",
    "multilingual": "Multilingual",
    "multiEmotion": "Multi-emotion",
    "videoDubbing": "Video Dubbing",
LiangLiu's avatar
LiangLiu committed
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
    "ttsHistoryTitle": "History",
    "ttsHistoryHint": "We automatically keep the last 20 voice texts and instructions you used.",
    "ttsHistoryEmpty": "No saved entries yet",
    "ttsHistoryEmptyHint": "Generate voice once to create your first history entry.",
    "ttsHistoryTextLabel": "Voice Text",
    "ttsHistoryInstructionLabel": "Voice Instruction",
    "ttsHistoryTextEmpty": "Empty text",
    "ttsHistoryInstructionEmpty": "Empty instruction",
    "ttsHistoryVoiceLabel": "Voice",
    "ttsHistoryVoiceEmpty": "Not set",
    "ttsHistoryApply": "Use This",
    "ttsHistoryApplySelected": "Apply",
    "ttsHistoryDeleteEntry": "Remove",
    "ttsHistoryTabCombined": "All",
    "ttsHistoryTabText": "Text",
    "ttsHistoryTabInstruction": "Instruction",
    "ttsHistoryTabVoice": "Voice",
    "ttsHistoryTitleCombined": "All History",
    "ttsHistoryTitleText": "Text History",
    "ttsHistoryTitleInstruction": "Instruction History",
    "ttsHistoryTitleVoice": "Voice History",
    "ttsHistoryClear": "Clear History",
    "allVersions": "All Versions",
    "allLanguages": "All Languages",
    "allGenders": "All Genders",
    "female": "Female",
    "male": "Male",
    "taskCountdown": "Task countdown",
    "footer": {
      "tagline": "AI digital human video generation powered by the Light AI toolchain",
      "links": {
        "home": "Light AI Homepage",
        "github": "GitHub",
        "xiaohongshu": "Xiaohongshu"
      },
      "alt": {
        "github": "GitHub logo",
        "xiaohongshu": "Xiaohongshu logo"
      },
      "copyright": "© {year} Light AI. All rights reserved."
    },
    "tts": {
      "title": "AI Voice Synthesis",
      "subtitle": "Synthesize your voice with AI",
      "inputText": "Enter text to synthesize",
      "voiceSelection": "Select voice",
      "voiceSettings": "Voice settings",
      "speechRate": "Speech rate",
      "volume": "Volume",
      "pitch": "Pitch",
      "emotionIntensity": "Emotion intensity",
      "emotionType": "Emotion type",
    "neutral": "Neutral",
    "scene": "Scene",
    "version": "Version",
    "language": "Language",
    "gender": "Gender",
    "reset": "Reset",
    "done": "Done",
    "ttsGenerationFailed": "TTS generation failed, please retry",
    "applyAudioFailed": "Apply audio failed, please retry",
    "allScenes": "All Scenes",
    "generalScene": "General",
    "customerServiceScene": "Customer Service",
    "educationScene": "Education",
    "funAccent": "Fun Accent",
    "rolePlaying": "Role Playing",
    "audiobook": "Audiobook",
    "multilingual": "Multilingual",
    "multiEmotion": "Multi-emotion",
    "videoDubbing": "Video Dubbing",
LiangLiu's avatar
LiangLiu committed
449
450
451
452
453
    "allVersions": "All Versions",
    "allLanguages": "All Languages",
    "allGenders": "All Genders",
    "female": "Female",
    "male": "Male"
LiangLiu's avatar
LiangLiu committed
454
    }
LiangLiu's avatar
LiangLiu committed
455
}