Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UIKitのAPI Diffから見る Safe Area - iOS LT #32
Search
kazuhiro4949
October 26, 2017
Technology
8
1.3k
UIKitのAPI Diffから見る Safe Area - iOS LT #32
Safe Area関連のAPIをUIKitから抽出してきたもの
kazuhiro4949
October 26, 2017
Tweet
Share
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.5k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
560
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
3.6k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
320
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
69
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
270
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.5k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
260
Other Decks in Technology
See All in Technology
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
プロダクトエンジニアが活躍する環境を作りたくて 事業責任者になった話 ~プロダクトエンジニアの行き着く先~
gimupop
1
480
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
100
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
110
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
1
170
10分でわかるfreeeのQA
freee
1
3.4k
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
君は隠しイベントを見つけれるか?
mujyun
0
300
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.6k
AWS CodePipelineでコンテナアプリをデプロイした際に、古いイメージを自動で削除する
smt7174
1
100
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
The Pragmatic Product Professional
lauravandoore
31
6.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
Agile that works and the tools we love
rasmusluckow
327
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
BBQ
matthewcrist
85
9.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
Code Review Best Practice
trishagee
64
17k
KATA
mclloyd
29
13k
Transcript
6*,JUͷ"1*%J⒎͔ΒݟΔ 4BGF"SFB ,B[VIJSP)":"4)* J04-5
4BGF"SFBͱ wJ04͔Βͷػೳ w7JFXͷத͕දࣔ͞ ΕΔ͜ͱΛอূͯ͠ ͍ΔྖҬ wJ1IPOF9Ͱ)PNF *OEJDBUPS4FOTPS )PVTJOHͱίϯςϯ π͕ඃΒͳ͍Α͏ʹ ઃఆ͞ΕΔ
IUUQTEFWFMPQFSBQQMFDPNJPTIVNBOJOUFSGBDFHVJEFMJOFTPWFSWJFXJQIPOFY
ΞδΣϯμ 6*,JUͷ4BGF"SFBؔ࿈ͷมߋΛௐࠪ͢Δ ΠϕϯτΛ࣮ࡍʹ৮ͬͯΈͯɺ4BGF"SFBͷϨΠΞτ ͷӨڹΛௐࠪ͢Δ
ํ๏ 6*,JU͕࣋ͭ"1*ͷJ04ʙJ04ؒͷ%J⒎Λ͏ l4BGF"SFBl lMBZPVU.BSHJOl lJOTFUTlลΓͷΩʔϫʔυ Ͱԣஅతʹݕࡧ υΩϡϝϯτʹ4BGF"SFBʹؔ͢Δهड़͕͋Εࢼͯ͠
ΈΔ
IUUQDPEFXPSLTIPQOFUPCKDEJ⒎TELEJ⒎TJPT
4BGF"SFBؔ࿈ͷ%J⒎ 6*7JFXTBGF"SFB*OTFUT 6*7JFXTBGF"SFB-BZPVU(VJEF 6*7JFXJOTFUT-BZPVU.BSHJO'PS4BGF"SFB 6*7JFXEJSFDUJPOBM-BZPVU.BSHJOT 6*7JFXTBGF"SFB*OTFUT%JE$IBOHF 6*7JFX$POUSPMMFSBEEJUJPOBM4BGF"SFB*OTFUT 6*7JFX$POUSPMMFSWJFX4BGF"SFB*OTFUT%JE$IBOHF
6*4DSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPS 6*4DSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*4DSPMM7JFXTDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ 6*5BCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFB 6*$PMMFDUJPO7JFX'MPX-BZPVUTFDUJPO*OTFU3FGFSFODF
4BGF"SFBؔ࿈ͷ%J⒎ 6*7JFXTBGF"SFB*OTFUT 6*7JFXTBGF"SFB-BZPVU(VJEF 6*7JFXJOTFUT-BZPVU.BSHJO'PS4BGF"SFB 6*7JFXEJSFDUJPOBM-BZPVU.BSHJOT 6*7JFXTBGF"SFB*OTFUT%JE$IBOHF 6*7JFX$POUSPMMFSBEEJUJPOBM4BGF"SFB*OTFUT 6*7JFX$POUSPMMFSWJFX4BGF"SFB*OTFUT%JE$IBOHF
6*4DSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPS 6*4DSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*4DSPMM7JFXTDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ 6*5BCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFB 6*$PMMFDUJPO7JFX'MPX-BZPVUTFDUJPO*OTFU3FGFSFODF "1*
݁ߏ͋Δ
ͻͱͭͣͭݟ͍͖ͯ·͢
6*7JFX
TBGF"SFB*OTFUT w ࢠ7JFXΛӅͯ͠͠·͏ྖҬ /BWJHBUJPO#BS5BC#BS 4UBUVT#BS ͳͲ Λ6*&EHF*OTFUͷͱͯ֨͠ೲ w ͜ͷΛ͑J04తͳදࣔྖҬͷൣғʹࢠ7JFXΛऩΊΔ͜ͱ͕ Ͱ͖Δ
w 7JFXͷஔ͔Ε͍ͯΔॴʢ4BGF"SFBͳ͍͔Ͳ͏͔ʣʹΑͬͯ ͕มΘΔ
TBGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT
\ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
w TBGF"SFB*OTFUTΛ"VUP-BZPVUͰઃఆ͢Δ࣌ͷ-BZPVU(VJEF w 4UPSZCPBSEͰ4BGF"SFBΛѻ͏࣌͜Εʹର੍ͯ͠Λு͍ͬͯΔ TBGF"SFB-BZPVU(VJEF
TBGF"SFB-BZPVU(VJEF DMBTT4BGF"SFB-BZPVU(VJEF7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE @WJFXUSBOTMBUFT"VUPSFTJ[JOH.BTL*OUP$POTUSBJOUTGBMTF @WJFXUPQ"ODIPSDPOTUSBJOU
FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFUPQ"ODIPS JT"DUJWFUSVF @WJFXCPUUPN"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFCPUUPN"ODIPS JT"DUJWFUSVF @WJFXUSBJMJOH"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFUSBJMJOH"ODIPS JT"DUJWFUSVF @WJFXMFBEJOH"ODIPSDPOTUSBJOU FRVBM5PWJFXTBGF"SFB-BZPVU(VJEFMFBEJOH"ODIPS JT"DUJWFUSVF ^
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB w 4BGF"SFBͷൣғ֎ʹ͍Δ6*7JFXͷMBZPVU.BSHJOʹ4BGF"SFBͷ Λߟྀͤ͞ΔΑ͏ಇ͖͔͚Δ w σϑΥϧτUSVF w GBMTFʹ͢Δͱ4BGF"SFBΛߟྀͤͣʹɺࠓ·Ͱ௨Γઃఆ͞Εͨ MBZPVU.BSHJOͷ͕ΘΕΔ
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB MBZPVU.BSHJOT 4BGF"SFB
JOTFUT-BZPVU.BSHJOT'SPN4BGF"SFB MBZPVU.BSHJOT DMBTT*OTFUT-BZPVU.BSHJO'SPN4BGF"SFB7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE WJFXJOTFUT-BZPVU.BSHJOT'SPN4BGF"SFBGBMTF
^ ^
͓·͚ EJSFDUJPOBM-BZPVU.BSHJOT w J04͔ΒMBZPVU.BSHJOTͰͳͬͪ͘͜Λ͏Β͍͠ w /4%JSFDUJPOBM&EHF*OTFUTͱ͍͏6*&EHF*OTFUTͬΆ͍ߏମ w MFGU SJHIUͷΘΓʹMFBEJOH
USBJMJOHͷΑ͏ʢͭ·Γݴޠґଘʣ w ઌఔͷJOTFUT-BZPVU.BSHJO'PS4BGF"SFBͷ͕USVFͰ͋Εɺ4BGF "SFBͷӨڹΛड͚Δ
TBGF"SFB*OTFUT%JE$IBOHF w 4BGF"SFBͷ͕ॻ͖Θͬ ͨΒݺΕΔ w ͦͷޙͰMBZPVU4VCWJFXT͕ ݺΕΔ TBGF"SFB*OTFUT%JE$IBOHF MBZPVU4VCWJFXT
6*7JFX$POUSPMMFS
BEEJUJPOBM4BGF"SFB*OTFUT w TBGF"SFB*OTFUTηοτͰ͖ͳ͍ͨΊɺಠࣗͰ4BGF"SFBΛఆٛ ͍ͨ͠߹͜ͷΛॻ͖͑Δ w ͜͜ೖΕ͕ͨݩʑͷTBGF"SFBʹ͞ΕΔܗͰೖΔ ্ॻ͖Ͱͳ ͍ w
σϑΥϧτ6*&EHF*OTFUT[FSP w /BWJHBUJPO#BS5BC#BSͳͲͷཁૉΛ࣋ͭίϯςφ7$ΛࣗલͰ࡞Γ ͍ͨ࣌ʹར༻
BEEJUJPOBM4BGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT
\ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
BEEJUJPOBM4BGF"SFB*OTFUT DMBTT4BGF"SFB*OTFUT7JFX$POUSPMMFS6*7JFX$POUSPMMFS\ !*#0VUMFUXFBLWBS@WJFX6*7JFX PWFSSJEFGVODWJFX%JE-PBE \ TVQFSWJFX%JE-PBE BEEJUJPOBM4BGF"SFB*OTFUT6*&EHF*OTFUT
UPQ MFGU CPUUPN SJHIU ^ PWFSSJEFGVODWJFX%JE-BZPVU4VCWJFXT \ TVQFSWJFX%JE-BZPVU4VCWJFXT @WJFXGSBNF6*&EHF*OTFUT*OTFU3FDU WJFXCPVOET WJFXTBGF"SFB*OTFUT ^ ^
WJFX4BGF"SFB*OTFUT%JE$IBOHF w WJFXͷTBGF"SFB*OTFUTͷ͕࣮ࡍ ʹೖΔλΠϛϯάͰݺΕΔ w WJFX8JMM"QQFBSͷͱ͖ʹ·ͩ TBGF"SFB*OTFUTͷೖ͍ͬͯͳ ͍༷ WJFX8JMM"QQFBS @
WJFX4BGF"SFB*OTFUT%JE$IBOHF VQEBUF7JFX$POTUSBJOUT WJFX8JMM-BZPVU4VCWJFXT
6*4DSPMM7JFX
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS w 6*7JFX$POUSPMMFSͷBVUPNBUJDBMMZ"EKVTUT4DSPMM7JFX*OTFUTʹΘΔϓϩ ύςΟ w TBGF"SFBΛߟྀͯ͠DPOUFOU*OTFUT͕ࣗಈతʹηοτ͞ΕΔ w BVUPNBUJD TDSPMMBCMF"YFT OFWFS
BMXBZTͷ̐ͭͷͷͲΕ͔ʹͳΔ w σϑΥϧτBVUPNBUJD
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSBMXBZT w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ ඞ্ͣԼࠨӈͷTBGF"SFBͷϚʔδϯ͕ͭ͘
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSOFWFS ඞͣTBGF"SFBແࢹ͞ΕΔ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSTDSPMMBCMF"YFT εΫϩʔϧՄೳͳྖҬ ͜͜Ͱਨํ ͷΈʹϚʔδϯ͕ͭ͘ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ
w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
DPOUFOU*OTFU"EKVTUNFOU#FIBWJPS TDSPMM7JFXDPOUFOU*OTFU"EKVTUNFOU#FIBWJPSBVUPNBUJD جຊతʹTDSPMMBCMF"YJTͱಉ͡ɻBVUPNBUJDBMMZ"EKVTUT4DSPMM7JFX*OTFUT͕USVFͳΒɺ εΫϩʔϧՄೳͰ͋Ζ͏ͱͳ͔Ζ͏ͱ/BWJHBUJPO$POUSPMMFSʹର͢Δ্෦Ϛʔδϯͭ͘ ޙํޓͷͨΊͷػೳ w6*4DSPMM7JFXͷதʹXJEUI͕ IFJHIU͕ͷ7JFX͕ೖ͍ͬͯΔ wDPOUFOU4J[Fதʹஔ͍͍ͯΔ7JFXͱಉ͡αΠζͱ͢Δ ͭ·ΓਨํͷΈεΫϩʔϧՄ
w-BOETDBQFͰਨํҰ൪Լ·ͰεΫϩʔϧͨ࣌͠ʹϚʔδϯ͕Ͳ͏ͳΔ͔ΛݟͯΈΔ
BEKVTUFE$POUFOU*OTFU w TBGF"SFBΛߟྀͯࣗ͠ಈͰηοτ͞ΕΔDPOUFOU*OTFUTͷ w DPOUFOU*OTFUTʹΛηοτ͢ΔͱTBGF"SFB DPOUFOU*OTFUTͷ͕ηο τ͞ΕΔ w DPOUFOU*OTFU"EKVTUNFOU#FIBWJPSʹΑͬͯɺ͜ͷ͕TBGF"SFBΛߟྀ͢ Δ͔ܾ·Δ
OFWFSͩͱTBGF"SFBߟྀ͞Εͳ͍
BEKVTUFE$POUFOU*OTFU PWFSSJEFGVODWJFX%JE"QQFBS @BOJNBUFE#PPM \ TVQFSWJFX%JE"QQFBS BOJNBUFE QSJOU TDSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*&EHF*OTFUT
UPQ MFGU CPUUPN SJHIU ɹɹQSJOU TDSPMM7JFXDPOUFOU*OTFU 6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU TDSPMM7JFXDPOUFOU*OTFU6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU QSJOU TDSPMM7JFXBEKVTUFE$POUFOU*OTFU 6*&EHF*OTFUT UPQ MFGU CPUUPN SJHIU ^
TDSPMM7JFX%JE$IBOHF"EKVTUFE$POUFOU*OTFU @ w ઌఔͷBEKVTUFE$POUFOU*OTFUͷ͕ॻ͖ΘΔͱݺΕΔ
6*5BCMF7JFX
JOTFUT$POUFOU7JFXT5P4BGF"SFB w ηϧͷDPOUFOU7JFX͕TBGF"SFBΛߟྀͨ͠ྖҬʹදࣔ͞ΕΔ͔ܾΊΒΕΔ w σϑΥϧτUSVFͰDPOUFOU7JFXTBGF"SFBͷӨڹΛड͚Δ
JOTFUT$POUFOU7JFXT5P4BGF"SFB UBCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFBGBMTF UBCMF7JFXJOTFUT$POUFOU7JFXT5P4BGF"SFBUSVF
6*$PMMFDUJPO7JFX'MPX-BZPVU
TFDUJPO*OTFU3FGFSFODF w 6*$PMMFDUJPO7JFX'MPX-BZPVUͷTFDUJPO*OTFUTʹରͯ͠ɺTBGF"SFB -BZPVU.BSHJO $POUFOU*OTFUTͷͲΕΛߟྀͯ͠ઃఆ͢Δ͔ܾΊΒΕΔ w GSPN$POUFOU*OTFU GSPN4BGF"SFB GSPN-BZPVU.BSHJOTͷFOVNͰߏ
͞ΕΔ w σϑΥϧτGSPN$POUFOU*OTFUͰɺTFDUJPO*OTFUTDPOUFOU*OTFUTͷӨ ڹΛड͚Δ
TFDUJPO*OTFU3FGFSFODF JGMFUMBZPVUDPMMFDUJPO7JFXDPMMFDUJPO7JFX-BZPVUBT 6*$PMMFDUJPO7JFX'MPX-BZPVU\ MBZPVUTFDUJPO*OTFU3FGFSFODFʜ͜͜ͷΛม͑Δ ^ GSPN$POUFOU*OTFU GSPN-BZPVU.BSHJOT GSPN4BGF"SFB
·ͱΊ w ҙ֎ͱ4BGF"SFBབྷΈͷ"1*%J⒎ଟ͔ͬͨ w ݩʑෳࡶͩͬͨϚʔδϯབྷΈͷϨΠΞτ͕ߋʹෳࡶʹͳ͖͍ͬͯͯΔҹ w υΩϡϝϯτΛಡΜͰԿ͕ى͖Δͷ͔ΠϚΠν͔ͭΈʹ͘͘ɺ࣮ࡍʹಈ͔͠ ͯΈͳ͍ͱΘ͔Βͳ͔ͬͨ w ϓϩύςΟͷΛมߋ͢ΔͱԿ͕ى͖Δͷ͔
w ϥΠϑαΠΫϧͲͷλΠϛϯάͰಈ͍ͯɺ͕Ͳ͏มΘΔͷ͔
αϯϓϧʹͬͨΞϓϦ ͪ͜Βஔ͍͍ͯ·͢ IUUQTHJUIVCDPNLB[VIJSP4BGF"SFB4BNQMF
ࢀߟࢿྉ w 6*,JU"QQMF%FWFMPQFS w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU w #VJMEJOH"QQTGPSJ1IPOF9 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZGBMM w
%FTJHOJOHGPSJ1IPOF9 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZGBMM w 6QEBUJOH:PVS"QQGPSJ04 w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED w 6*,JUJ04UP"1*%J⒎FSFODFT w IUUQDPEFXPSLTIPQOFUPCKDEJ⒎TELEJ⒎TJPT6*,JUIUNM