Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Concurrency Roadmap

Concurrency Roadmap

Swift Concurrency Roadmap

[email protected]

November 02, 2020
Tweet

Other Decks in Programming

Transcript

  1. .PUJWBUJPO 8IZOFFE #SJOHUIPTFQBUUFSOTJOUPUIFMBOHVBHFGPSʜ w 3FEVDFCPJMFSQMBUF w .BLFUIFQBUUFSOTTBGF w &MJNJOBUFCVHT w

    (JWFQSPHSBNNFSTUIFDPO f i EFODFUPVTF DPODVSSFODZNPSFQFSWBTJWFMZ w (JWFBDIBODFUPJNQSPWFUIF QFSGPSNBODFPGDPODVSSFOUDPEF
  2. BDUPS w %FDMBSJOHBDMBTTUPCFBOBDUPSJTTJNJMBSUPHJWJOHBDMBTTBQSJWBUF RVFVFBOETZODISPOJ[JOHBMMBDDFTTUPJUTQSJWBUFTUBUFUISPVHIUIBU RVFVF w #FDBVTFUIJTTZODISPOJ[BUJPOJTOPXVOEFSTUPPECZUIFDPNQJMFS ZPV DBOOPUGPSHFUUPVTFUIFRVFVFUPQSPUFDUTUBUFUIFDPNQJMFSXJMMFOTVSF UIBUZPVBSFSVOOJOHPOUIFRVFVFJOUIFDMBTTTNFUIPET

    BOEJUXJMM QSFWFOUZPVGSPNBDDFTTJOHUIFTUBUFPVUTJEFUIPTFNFUIPET w #FDBVTFUIFDPNQJMFSJTSFTQPOTJCMFGPSEPJOHUIJT JUDBOCFTNBSUFS BCPVUPQUJNJ[JOHBXBZTZODISPOJ[BUJPO MJLFXIFOBNFUIPETUBSUTCZ DBMMJOHBOBTZODGVODUJPOPOBEJ f f FSFOUBDUPS
  3. BDUPS w )BWFUIJTTUBUJDSFMBUJPOTIJQCFUXFFOUIFBDUPS BOEJUTGVODUJPOTBOEQSPQFSUJFTMFUTVTFOGPSDF UIFJTPMBUJPOPGEBUBUPBOBDUPSBOEEF f i OFBXBZ EBUBSBDFT w

    4UBUJDBMMZLOPXXIFUIFSXF`SFJOBDPOUFYUUIBU DBOTBGFMZBDDFTTBOBDUPS`TQSPQFSUJFT BOEJGOPU  UIFDPNQJMFSIBOEMFTTXJUDIJOHJOUPUIBUDPOUFYU
  4. 'JSTU1IBTF BTZODBXBJU $PSPVUJOFCBTFE  8JMMPQUJOUPCFJOHasync BOEDBOUIFOawaitUIFSFTVMUTPG PUIFSasyncGVODUJPOT BMMPXJOHBTZODISPOPVTDPEFUPCFFYQSFTTFEJOB NPSFOBUVSBMTUSBJHIUMJOFGPSN IUUQTGPSVNTTXJGUPSHUDPODVSSFODZBTZODISPOPVTGVODUJPOT

    IUUQTHJUIVCDPN%PVH(SFHPSTXJGUFWPMVUJPOCMPCBTZODBXBJUQSPQPTBMTOOOOBTZODBXBJUNE 5BTL"1*BOE4USVDUVSFE$PODVSSFODZ  8JMMDPWFS"1*TUPDSFBUFEFUBDIFEUBTLT UBTLOVSTFSJFTGPSEZOBNJDBMMZ DSFBUJOHDIJMEUBTLT BOEUIFNFDIBOJDTGPSDBODFMMBUJPOBOEQSJPSJUJ[BUJPO PGUBTLT  JOUSPEVDFTTDPQFCBTFENFDIBOJTNTGPSBXBJUJOHWBMVFTGSPNNVMUJQMF DIJMEUBTLT IUUQTGPSVNTTXJGUPSHUDPODVSSFODZTUSVDUVSFEDPODVSSFODZ IUUQTHJUIVCDPN%PVH(SFHPSTXJGUFWPMVUJPOCMPCTUSVDUVSFEDPODVSSFODZQSPQPTBMTOOOOTUSVDUVSFEDPODVSSFODZNE
  5. 'JSTU1IBTF "DUPST"DUPS*TPMBUJPO  QSPWJEFTTUBUFJTPMBUJPOGPSDPODVSSFOUQSPHSBNT  QPUFOUJBMGPSEBUBSBDFTXJMMCFFMJNJOBUFE  -FBWJOHGVMMJTPMBUJPOFOGPSDFNFOUUPBTVCTFRVFOUQSPQPTBM IUUQTGPSVNTTXJGUPSHUDPODVSSFODZBDUPSTBDUPSJTPMBUJPO IUUQTHJUIVCDPN%PVH(SFHPSTXJGUFWPMVUJPOCMPCBDUPSTQSPQPTBMTOOOOBDUPSTNE

    $PODVSSFODZ*OUFSPQFSBCJMJUZXJUI0CKFDUJWF$  BVUPNBUFECSJEHJOHCFUXFFO4XJGUTDPODVSSFODZGFBUVSFTBOEUIFDPOWFOUJPOCBTFE FYQSFTTJPOPGBTZODISPOPVTGVODUJPOTJO0CKFDUJWF$  BMMPXFYJTUJOHBTZODISPOPVT0CKFDUJWF$"1*TUPCFJNNFEJBUFMZVTBCMFXJUI4XJGUT DPODVSSFODZNPEFMCZQSPWJEJOHBOBMUFSOBUF4XJGUUSBOTMBUJPOPGUIF"1*JOUP BOasyncGVODUJPO BMPOHTJEFUIFDBMMCBDLCBTFEWFSTJPO IUUQTGPSVNTTXJGUPSHUDPODVSSFODZJOUFSPQFSBCJMJUZXJUIPCKFDUJWFD IUUQTHJUIVCDPN%PVH(SFHPSTXJGUFWPMVUJPOCMPCDPODVSSFODZPCKDQSPQPTBMT////DPODVSSFODZPCKDNE
  6. "DUPS*TPMBUJPOBOE5XPQIBTFT w 5IFHPBMJTGPS4XJGUUPQSFWFOUEBUBSBDFTPONVUBCMF TUBUFCZEFGBVMU w 5IFTZTUFNUISPVHIXIJDIUIJTJTBDIJFWFEJT DBMMFEBDUPSJTPMBUJPO w CPUICFDBVTFBDUPSTBSFDFOUSBMMZJNQPSUBOUUPIPX UIFTZTUFNXPSLTBOECFDBVTFUIFTZTUFNJTDFOUSBMMZ

    DPODFSOFEXJUIQSFWFOUJOHBDUPSQSPUFDUFETUBUF GSPNCFJOHBDDFTTFEPVUTJEFUIFBDUPS w BDUPSJTPMBUJPOSFTUSJDUTDPEFFWFOXIFOBDUPSTBSFO`U EJSFDUMZJOWPMWFE XIFOJUJTOFDFTTBSZGPSUIF DPSSFDUOFTTPGUIFTZTUFNVOEFSDPODVSSFODZ
  7. w 1SPQFSUJFTPGBOBDUPSXJMMCFQSPUFDUFECZUIFBDUPS w *NNVUBCMFNFNPSZ TVDIBTBMFUDPOTUBOU MPDBM NFNPSZ TVDIBTBMPDBMWBSJBCMFUIBU`TOFWFS DBQUVSFE BOEWBMVFDPNQPOFOUNFNPSZ

    TVDIBTB QSPQFSUJFTPGBTUSVDU PSBOFOVNDBTF BSFBMSFBEZ QSPUFDUFEGSPNEBUBSBDFT w 6OTBGFNFNPSZ TVDIBTBOBSCJUSBSZBMMPDBUJPO SFGFSFODFECZBOUnsafeMutablePointer JT BTTPDJBUFEXJUIBOVOTBGFBCTUSBDUJPO"DUJWFMZ VOEFTJSBCMFUPUSZUPGPSDFUIFTFBCTUSBDUJPOTUPCF VTFETBGFMZ NFBOUUPCFVTBCMFUPCZQBTTTBGF MBOHVBHFSVMFTXIFOOFDFTTBSZ .FNPSZ$BUFHPSZ
  8. w (MPCBMNFNPSZ TVDIBTBHMPCBMPSTUBUJDWBSJBCMF DBOJO QSJODJQMFCFBDDFTTFECZBOZDPEFBOZXIFSF TPJTTVCKFDUUP EBUBSBDFT w $MBTTDPNQPOFOUNFNPSZDBOBMTPCFBDDFTTFEGSPNBOZ DPEFUIBUIPMETBSFGFSFODFUPUIFDMBTT5IJTNFBOTUIBU

    XIJMFUIFSFGFSFODFUPUIFDMBTTNBZCFQSPUFDUFECZBO BDUPS QBTTJOHUIBUSFGFSFODFCFUXFFOBDUPSTFYQPTFTJUT QSPQFSUJFTUPEBUBSBDFT5IJTBMTPJODMVEFTSFGFSFODFTUP DMBTTFTIFMEXJUIJOWBMVFUZQFT XIFOUIFTFBSFQBTTFE CFUXFFOBDUPST .FNPSZ$BUFHPSZ 5IFHPBMPGGVMMBDUPSJTPMBUJPOJTUPFOTVSFUIBU UIFTFDBUFHPSJFTBSFQSPUFDUFECZEFGBVMU
  9. 4FDPOE1IBTF%FGBVMUDIBOHFE 4PVSDFCSFBLQPTTJCJMJUZ XJMMOFFEUPCFHBUFECZBMBOHVBHFNPEF w (MPCBMWBSJBCMFTXJMMCFSFRVJSFEUPCFQSPUFDUFECZ BHMPCBMBDUPS PSNBSLFEBDUPSVOTBGF w $MBTTFT BOEUZQFTUIBUDPOUBJODMBTTSFGFSFODFT

     XJMMDIBOHFGSPNCFJOHBDUPSVOTBGFCZEFGBVMUUP CFJOHBDUPSMPDBMz w $PEFUIBUUPVDIFTBNVUBCMFHMPCBMWBSJBCMFPS TIBSFTBDMBTTSFGFSFODFBDSPTTBDUPSCPVOEBSJFT GVOEBNFOUBMMZDBOOPUCFTIPXOUPCFTBGFGSPN EBUBSBDFT BOEXJMMOFFEUPDIBOHFUPFOTVSFUIBUJU BOEDPEFXSJUUFOJOUIFGVUVSF JTTBGFGSPNEBUB SBDFT
  10. 4FDPOE1IBTF)PXUPIBOEMFEFGBVMUDIBOHF w 6TFPGHMPCBMWBSJBCMFTTIPVMECFTQBSJOH BOENPTUHMPCBM WBSJBCMFTDBOCFQSPUFDUFECZBHMPCBMBDUPS w "TMPOHBTDMBTTFTBSFOPUTIBSFEBDSPTTBDUPSCPVOEBSJFT  BDUPSMPDBMBOOPUBUJPOTIPVMEOPUB f

    f FDUDPEFXJUIJOBO BDUPS w XIFSFSFGFSFODFTNVTUCFQBTTFEBDSPTTCPVOEBSJFT UIF MBOHVBHFTIPVMENBLFUIJTPCWJPVTBOEUIFTPMVUJPOTTJNQMF w CZGVSUIFSFODPVSBHJOHBOETJNQMJGZJOHUIFVTFPGWBMVF UZQFT UIFOFFEUPTIBSFDMBTTFTBDSPTTBDUPSCPVOEBSJFT TIPVMECFSFEVDFE w UIFUJNFCFUXFFOUIFUXPQIBTFTXJMMHJWFVTFSTBO PQQPSUVOJUZUPGBDUPSUIFJSDPEFJOUPBDUPSTBOEBTZOD GVODUJPOT QSFQBSJOHJUGPSGVMMJTPMBUJPO
  11. (MPTTBSZPG$PODFQUT TZODISPOPVTGVODUJPO 
 JUSVOTUPDPNQMFUJPOPOBTJOHMFUISFBE XJUIOPJOUFSMFBWJOH DPEFFYDFQUGPSBOZTZODISPOPVTGVODUJPOTJUDBMMT UISFBE 
 SFGFSTUPUIFVOEFSMZJOHQMBUGPSN`TDPODFQUPGUISFBET 1MBUGPSNTWBSZ

    CVUUFOEUPTIBSFCBTJDDIBSBDUFSJTUJDTUSVF DPODVSSFODZSFRVJSFTDSFBUJOHBQMBUGPSNUISFBE CVUDSFBUJOH BOESVOOJOHQMBUGPSNUISFBETJTFYQFOTJWF$GVODUJPODBMMT  BOEPSEJOBSZTZODISPOPVT4XJGUGVODUJPOT SFRVJSFUIFVTFPGB QMBUGPSNUISFBE
  12. (MPTTBSZPG$PODFQUT BTZODISPOPVTGVODUJPO 
 BOFXLJOEPGGVODUJPOXIJDIEPFTOPUIBWFUPSVOUP DPNQMFUJPOXJUIPVUJOUFSSVQUJPO"OJOUFSSVQUJPODBVTFTUIF GVODUJPOUPCFTVTQFOEFE5IFQPJOUBUXIJDIBOBTZODGVODUJPO NBZHJWFVQJUTUISFBEJTBTVTQFOTJPOQPJOU UBTL 
 BOPQFSBUJPOUIBUSVOTBTZODISPOPVTMZ"MMBTZODISPOPVT

    GVODUJPOTSVOBTQBSUPGTPNFUBTL8IFOBOBTZODISPOPVT GVODUJPODBMMTBOPUIFSBTZODISPOPVTGVODUJPO UIFDBMMJTTUJMM QBSUPGUIFUIFTBNFUBTL FWFOJGUIFDBMMIBTUPDIBOHFBDUPST "UBTLJTUIFBOBMPHVFPGBUISFBEGPSBTZODISPOPVTGVODUJPOT
  13. (MPTTBSZPG$PODFQUT QBSUJBMUBTL 
 BVOJUPGTDIFEVMBCMFXPSL8IFOUIFDVSSFOUMZFYFDVUJOH GVODUJPOJOBUBTLJTTVTQFOEFE UIBUJTUIFFOEPGUIFQBSUJBM UBTL BOEBOFXQBSUJBMUBTLJTDSFBUFEUPDPOUJOVFUIFPWFSBMM UBTL`TXPSL FYFDVUPS

    
 BTFSWJDFXIJDIBDDFQUTUIFTVCNJTTJPOPGQBSUJBMUBTLTBOE BSSBOHFTGPSTPNFUISFBEUPSVOUIFN"OBTZODGVODUJPOUIBU JTDVSSFOUMZSVOOJOHBMXBZTLOPXTUIFFYFDVUPSPOXIJDIJUT SVOOJOH"OFYFDVUPSJTDBMMFEFYDMVTJWFJGUIFQBSUJBMUBTLT TVCNJUUFEUPJUXJMMOFWFSCFSVODPODVSSFOUMZ
  14. (MPTTBSZPG$PODFQUT BDUPS 
 BOJOEFQFOEFOUQBSUPGUIFQSPHSBNXIJDIDBOSVODPEF*UDBO POMZSVOPOFQJFDFPGDPEFBUBUJNFŠUIBUJT JUBDUTBTBO FYDMVTJWFFYFDVUPSŠCVUUIFDPEFJUSVOTDBOFYFDVUF DPODVSSFOUMZXJUIUIFDPEFSVOCZPUIFSBDUPST BDUPSJTPMBUJPO 


    "OBDUPSDBOIBWFQSPUFDUFETUBUFXIJDIDBOPOMZCFBDDFTTFE CZUIBUBDUPS5IFTZTUFNUISPVHIXIJDIUIJTJTBDIJFWFEJT DBMMFEBDUPSJTPMBUJPO5IFMPOHUFSNHPBMJTGPS4XJGUUP HVBSBOUFFBDUPSJTPMBUJPOCZEFGBVMU
  15. (MPTTBSZPG$PODFQUT BDUPSDMBTT 
 BSFGFSFODFUZQF FBDIJOTUBODFPGXIJDIJTBTFQBSBUFBDUPS*UT QSPUFDUFETUBUFJTJUTJOTUBODFQSPQFSUJFT BOEJUTBDUPS GVODUJPOTBSFJUTJOTUBODFNFUIPET HMPCBMBDUPS 


    BHMPCBMPCKFDU*UTQSPUFDUFETUBUFBOEBDUPSGVODUJPOTNBZCF TQSFBEBDSPTTNBOZEJ f f FSFOUUZQFT5IFZDBOCFNBSLFEXJUI BOBDUPSTQFDJ f i DBUUSJCVUF XIJDI4XJGUDBOJOGFSJONBOZDBTFT
  16. .PUJWBUJPO 8IZOFFE  1ZSBNJEPGEPPN .BLFJUEJ f f i DVMUUPSFBEBOELFFQUSBDLPGXIFSFUIFDPEFJT SVOOJOH*OBEEJUJPO

    IBWJOHUPVTFBTUBDLPGDMPTVSFTMFBETUPNBOZ TFDPOEPSEFSF f f FDUTUIBUXFXJMMEJTDVTTOFYU "TFRVFODFPG TJNQMFBTZODISPOPVTPQFSBUJPOT
  17. .PUJWBUJPO 8IZOFFE 
 #FDBVTFDPNQMFUJPOIBOEMFSTBSFBXLXBSE UPP NBOZ"1*TBSFEF f i OFETZODISPOPVTMZ w.BOZ"1*TCFJOHEF

    f i OFEXJUIBQQBSFOUMZ TZODISPOPVTCFIBWJPS FWFOXIFOUIFZDBOCMPDL w1SPCMFNBUJDQFSGPSNBODFBOESFTQPOTJWFOFTT QSPCMFNTJO6*BQQMJDBUJPOT w$BOBMTPMFBEUPUIFEF f i OJUJPOPG"1*TUIBUDBOOPUCF VTFEXIFOBTZODISPOZJTDSJUJDBMUPBDIJFWFTDBMF FY TFSWFSTJEF
  18. BTZODBXBJU 8IBU w "MMPXBTZODISPOPVTDPEFUPCFXSJUUFOBTJGJU XFSFTUSBJHIUMJOF TZODISPOPVTDPEF w /BUVSBMMZQSFTFSWFTUIFTFNBOUJDTUSVDUVSFPG UIFDPEF w

    1SPWJEFJOGPSNBUJPOOFDFTTBSZGPSBUMFBTU UISFFDSPTTDVUUJOHJNQSPWFNFOUT 
 CFUUFSQFSGPSNBODFGPSBTZODISPOPVTDPEF 
 CFUUFSUPPMJOHUPQSPWJEFBNPSFDPOTJTUFOUFYQFSJFODF 
 XIJMFEFCVHHJOH QSP f i MJOH BOEFYQMPSJOHDPEF 
 "GPVOEBUJPOGPSGVUVSFDPODVSSFODZGFBUVSFT 
 MJLFUBTLQSJPSJUZBOEDBODFMMBUJPO
  19. BTZODBXBJU 8IBU w 5IFDBMMTXJMMSFRVJSFUIFNUPHJWFVQUIFJSUISFBEBOEXBJUGPS TPNFUIJOHUPIBQQFO8IFOUIBUUIJOHJTDPNQMFUF UIFGVODUJPO XJMMSFTVNFFYFDVUJOHBHBJO w 5IFZPOMZHJWFVQUIFJSUISFBEXIFOUIFZSFBDIXIBU`TDBMMFEB TVTQFOTJPOQPJOU

    NBSLFECZBXBJU TVTQFOTJPOQPJOU  w %PO`UOFDFTTBSJMZSVOPOUIFFYBDUTBNFUISFBEJUXBTCFGPSF  CFDBVTF4XJGUEPFTO`UHVBSBOUFFUIBUBGUFSBTVTQFOTJPO w "TTPDJBUFEXJUITQFDJ f i DBDUPST BOEUIFZ`SFBMXBZTTVQQPTFEUP SVOBTQBSUPGUIBUBDUPS4XJGUEPFTHVBSBOUFFUIBUTVDI GVODUJPOTXJMMJOGBDUSFUVSOUPUIFJSBDUPSUP f i OJTIFYFDVUJOH
  20. "TZODISPOPVTDBMMT  5IFDBMMFFJTFYFDVUFEXJUIUIFHJWFOBSHVNFOUTPOJUT FYFDVUPS  %VSJOHUIFSFUVSO JGUIFDBMMFF`TFYFDVUPSJTEJ f f FSFOUGSPNUIF

    DBMMFS`TFYFDVUPS BTVTQFOTJPOPDDVSTBOEUIFQBSUJBMUBTLUP SFTVNFFYFDVUJPOJOUIFDBMMFSJTFORVFVFEPOUIFDBMMFS`T FYFDVUPS  'JOBMMZ UIFDBMMFSSFTVNFTFYFDVUJPOPOJUTFYFDVUPS*GUIF DBMMFFSFUVSOFEOPSNBMMZ UIFSFTVMUPGUIFDBMMFYQSFTTJPOJTUIF WBMVFSFUVSOFECZUIFGVODUJPOPUIFSXJTF UIFFYQSFTTJPO UISPXTUIFFSSPSUIBUXBTUISPXOGSPNUIFDBMMFF
  21. 8BSOJOH w -POHDPNQVUBUJPOTDBOTUJMMCMPDLUISFBET5IJTNJHIUIBQQFOXIFO DBMMJOHBTZODISPOPVTGVODUJPOUIBUKVTUEPFTBMPUPGXPSL PSXIFO FODPVOUFSJOHBQBSUJDVMBSMZJOUFOTFDPNQVUBUJPOBMMPPQXSJUUFOEJSFDUMZJO BOBTZODISPOPVTGVODUJPO w "TZODISPOPVTGVODUJPOTTIPVMEBWPJEDBMMJOHGVODUJPOTUIBUDBOBDUVBMMZ CMPDLUIFUISFBE

    FTQFDJBMMZJGUIFZDBOCMPDLJUXBJUJOHGPSXPSLUIBU`T OPUHVBSBOUFFEUPCFDVSSFOUMZSVOOJOH BDRVJSJOHBNVUFY  w 5IFEVSBUJPOPGJOPVUBDDFTTFTJTQPUFOUJBMMZNVDIMPOHFSEVFUPUIF TVTQFOTJPOPWFSUIFDBMM TPJOPVUSFGFSFODFTUPTIBSFENVUBCMFTUBUF UIBUJTOPUTV f f i DJFOUMZJTPMBUFEBSFNPSFMJLFMZUPQSPEVDFBEZOBNJD FYDMVTJWJUZWJPMBUJPO
  22. /VSTFSJFT 8IBU "OVSTFSZDSFBUFTDIJMEUBTLTEZOBNJDBMMZ EFQFOETPOEBUBTUSVDUVSFTJ[F POUIFDPOUSBSZ PGBTZODMFU  "OVSTFSZEF f i

    OFTBTDPQFJOXIJDIPOFDBO DSFBUFOFXDIJMEUBTLTQSPHSBNNBUJDBMMZ 5IFDIJMEUBTLTXJUIJOUIFOVSTFSZNVTU DPNQMFUFXIFOUIFTDPQFFYJUTPSUIFZXJMMCF JNQMJDJUMZDBODFMMFE
  23. %FUBDIFE5BTLT 8IBU w 5IFSFTVMUPGSVO%FUBDIFEJTBUBTLIBOEMF w $BOCFVTFEUPSFUSJFWFUIFSFTVMUPGUIFPQFSBUJPOXIFOJU DPNQMFUFT WJBHFU  w

    $BODFMUIFUBTLJGUIFSFTVMUJTOPMPOHFSEFTJSFE WJB DBODFM  w %FUBDIFEUBTLTBSFOUDBODFMMFEFWFOJGUIFSFBSFOP SFNBJOJOHVTFTPGUIFJSUBTLIBOEMF TPSVO%FUBDIFEJT TVJUBCMFGPSPQFSBUJPOTGPSXIJDIUIFQSPHSBNEPFTOPU OFFEUPPCTFSWFDPNQMFUJPO
  24. w 2VFVFTBDDFQUTBNPSFXPSLUIBOJUDBO BDUVBMMZIBOEMF RVFVF f l PPEJOH  w 1SFWFOUUIJTCZBMMPXJOHTZTUFNTUP

    DPNNVOJDBUFVQUIFUBTLIJFSBSDIZUIBU UIFZBSFDPNJOHVOEFSEJTUSFTT QPUFOUJBMMZ BMMPXJOHQBSFOUUBTLTUPTUPQPSTMPXUIF DSFBUJPOPGQSFTVNBCMZTJNJMBSOFXXPSL 4USVDUVSFE$PODVSSFODZ #FOF f i UT 
 2VFSZ f l PPEJOH 5ISFBEFYQMPTJPO
  25. w "UBTLJTUIFCBTJDVOJUPGDPODVSSFODZJOUIFTZTUFN w *UJTUIFBOBMPHVFPGBUISFBEGPSBTZODISPOPVTGVODUJPOT 5BTLT 8IBU w 4FSWFUISFFIJHIMFWFMQVSQPTFT 
 $BSSZTDIFEVMJOHJOGPSNBUJPO

    TVDIBTUIFUBTLT QSJPSJUZ 
 4FSWFBTBIBOEMFUISPVHIXIJDIUIFPQFSBUJPO DBOCFDBODFMMFE RVFSJFE PSNBOJQVMBUFE 
 $BODBSSZVTFSQSPWJEFEUBTLMPDBMEBUB
  26. w "MMBTZODISPOPVTGVODUJPOTSVOBTQBSUPGTPNF UBTL w "UBTLSVOTPOFGVODUJPOBUBUJNFBTJOHMFUBTL IBTOPDPODVSSFODZ w 8IFOBGVODUJPONBLFTBOBTZODDBMM UIFDBMMFE GVODUJPOJTTUJMMSVOOJOHBTQBSUPGUIFTBNFUBTL

    BOEUIFDBMMFSXBJUTGPSJUUPSFUVSO  w 4JNJMBSMZ XIFOBGVODUJPOSFUVSOTGSPNBOBTZOD DBMM UIFDBMMFSSFTVNFTSVOOJOHPOUIFTBNFUBTL 5BTLT $IBSBDUFST
  27. w "TVDDFTTJPOPGQFSJPETXIFSFUIFUBTLXBT SVOOJOH FBDIPGXIJDIFOETBUBTVTQFOTJPO QPJOUŠ f i OBMMZŠBUUIFDPNQMFUJPOPGUIFUBTL w UIFCBTJDVOJUTPGTDIFEVMBCMFXPSLJOUIF

    TZTUFN w 1SPHSBNNFSTTIPVMEOPUIBWFUPXPSL EJSFDUMZXJUIQBSUJBMUBTLTVOMFTTUIFZBSF JNQMFNFOUJOHBDVTUPNFYFDVUPS 1BSUJBM5BTLT 8IBU
  28. w .BZJOGPSNEFDJTJPOTBO&YFDVUPS NBLFTBCPVUIPXBOEXIFOUPTDIFEVMF UBTLTTVCNJUUFEUPJU w .BZBMTPVTFQSJPSJUZJOGPSNBUJPOUP B f f FDUUIFQMBUGPSNUISFBEQSJPSJUZ

    w $IJMEUBTLTBVUPNBUJDBMMZJOIFSJUUIFJS QBSFOUUBTLTQSJPSJUZ%FUBDIFEUBTLTEP OPUJOIFSJUQSJPSJUZ IBWFOPQBSFOUT 5BTLQSJPSJUJFT 8IBU
  29. w 5IFQSJPSJUZPGBUBTLEPFTOPUOFDFTTBSJMZ NBUDIUIFQSJPSJUZPGJUTFYFDVUPS FY6* UISFBEJTBIJHIQSJPSJUZFYFDVUPS  w .BZBMTPVTFQSJPSJUZJOGPSNBUJPOUPB f f

    FDU UIFQMBUGPSNUISFBEQSJPSJUZ w $IJMEUBTLTBVUPNBUJDBMMZJOIFSJUUIFJS QBSFOUUBTLTQSJPSJUZ%FUBDIFEUBTLTEP OPUJOIFSJUQSJPSJUZ IBWFOPQBSFOUT 5BTLQSJPSJUJFT 8IBU
  30. w *OTPNFTJUVBUJPOTUIFQSJPSJUZPGBUBTLNVTUCFFTDBMBUFEJO PSEFSUPBWPJEBQSJPSJUZJOWFSTJPO w *GBUBTLJTSVOOJOHPOCFIBMGPGBOBDUPS BOEBIJHIFS QSJPSJUZUBTLJTFORVFVFEPOUIFBDUPS UIFUBTLNBZ UFNQPSBSJMZSVOBUUIFQSJPSJUZPGUIFIJHIFSQSJPSJUZUBTL 5IJTEPFTOPUB

    f f FDUDIJMEUBTLTPS5BTLDVSSFOU1SJPSJUZ  JUJT BQSPQFSUZPGUIFUISFBESVOOJOHUIFUBTL OPUUIFUBTLJUTFMG  w *GBUBTLJTDSFBUFEXJUIB5BTL)BOEMF BOEBIJHIFSQSJPSJUZ UBTLDBMMTBXBJUUSZIBOEMFHFU UIFQSJPSJUZPGUIFUBTLXJMM CFQFSNBOFOUMZJODSFBTFEUPNBUDIUIFIJHIFSQSJPSJUZUBTL 5IJTEPFTB f f FDUDIJMEUBTLTBOE5BTLDVSSFOU1SJPSJUZ 5BTLQSJPSJUJFT 1SJPSJUZ&TDBMBUJPO
  31. w 5IFF f f FDUPGDBODFMMBUJPOXJUIJOUIFDBODFMMFEUBTL JTGVMMZDPPQFSBUJWFBOETZODISPOPVT DBODFMMBUJPO IBTOPF f f

    FDUBUBMMVOMFTTTPNFUIJOHDIFDLTGPS DBODFMMBUJPO  w .PTUGVODUJPOTSFQPSUJUCZUISPXJOH $BODFMMBUJPO&SSPS  w DBMMTUPUIFNNVTUCFEFDPSBUFEXJUITPNFGPSNPG USZ w EFGFSCMPDLTDBOCFVTFEUPDMFBOVQF f f FDUJWFMZ BGUFSDBODFMMBUJPO $BODFMMBUJPO 8IBU
  32. w *ONPTUGVODUJPOT JUTIPVMECFTV f f i DJFOUUP SFMZPOMPXFSMFWFMGVODUJPOTUIBUDBOXBJU GPSBMPOHUJNF FY*0GVODUJPOT

     5BTL)BOEMFHFU UPDIFDLGPSDBODFMMBUJPO BOEBCPSUFBSMZ w 'VODUJPOTXIJDIQFSGPSNBMBSHFBNPVOUPG TZODISPOPVTDPNQVUBUJPONBZXJTIUP QFSJPEJDBMMZDIFDLGPSDBODFMMBUJPOFYQMJDJUMZ $BODFMMBUJPO 8IBU
  33. w " f l BHJTTFUJOUIFUBTLXIJDINBSLTJUBT IBWJOHCFFODBODFMMFEPODFUIJT f l BHJTTFU JU

    JTOFWFSDMFBSFE w 0QFSBUJPOTSVOOJOHTZODISPOPVTMZBTQBSUPG UIFUBTLDBODIFDLUIJT f l BHBOEBSF DPOWFOUJPOBMMZFYQFDUFEUPUISPXB $BODFMMBUJPO&SSPS  w "OZDBODFMMBUJPOIBOEMFSTXIJDIIBWFCFFO SFHJTUFSFEPOUIFUBTLBSFJNNFEJBUFMZSVO $BODFMMBUJPO )PXUPIBOEMF
  34. $BODFMMBUJPO )PXUPIBOEMF w  4UBSUBOFXDIJMEUBTLUPDIPQBDBSSPU4VQQPTFUIBUUIJT DBMMUPUIFDIPQGVODUJPOUISPXTBOFSSPS w  1SPDFFEUPTUBSUBTFDPOEDIJMEUBTLUPDIPQBOPOJPO 

    CFDBVTFUIJTJTBTZODISPOPVT UIBUFSSPSJTOPUJNNFEJBUFMZ PCTFSWFEJODIPQ7FHFUBCMFT w  BXBJUUIFDBSSPUDIPQQJOHUBTL XIJDIDBVTFTVTUPUISPX UIFFSSPSUIBUXBTUISPXOGSPNDIPQ 
 4JODFXFEPOPUIBOEMFUIJTFSSPS XFFYJUUIFTDPQFXJUIPVU IBWJOHZFUBXBJUFEUIFPOJPODIPQQJOHUBTL 
 5IJTDBVTFTUIBUUBTLUPCFBVUPNBUJDBMMZDBODFMMFE
  35. w &OBCMFTUIFNUPDBVTFBUBTLUPDPOTJEFS JUTFMGBTDBODFMMFEJGTVDIEFBEMJOFJT FYDFFEFE w *OUFOUJPOBMMZVTFEFBEMJOFT QPJOUTJOUJNF  BTPQQPTFEUPUJNFPVUT EVSBUJPOTPGUJNFz

    
 XPSLJOHXJUIUJNFPVUTJTQSPOFUPFSSPSTXIFSFUIFEFBEMJOF JTBDDJEFOUBMMZFYUFOEFECFDBVTFBGVMMUJNFPVUJTSFVTFE SBUIFSUIBOCFJOHBEKVTUFEGPSUIFUJNFBMSFBEZQBTTFE $BODFMMBUJPOXJUI%FBEMJOF
  36. $IJMEUBTLTXJUIBTZODMFU w BTZODGVODUJPOTNBZDPOWFOJFOUMZSFRVFTU XPSLUPCFSVOJOBDIJMEUBTL QFSNJUUJOHJUUP SVODPODVSSFOUMZXJUIBOBTZODMFU w 5IFJOJUJBMJ[FSPGUIFBTZODMFUJTDPOTJEFSFEUP CFFODMPTFECZBOJNQMJDJUBXBJUFYQSFTTJPO w

    BTZODMFUDBOUISPXBOFSSPS UIFOFBDI SFGFSFODFUPBWBSJBCMFEFDMBSFEXJUIJOUIBU BTZODMFUJTDPOTJEFSFEUPUISPXBOFSSPS BOE UIFSFGPSFNVTUBMTPCFFODMPTFEJOPOFPGUSZ
  37. $IJME5BTLTXJUI/VSTFSJFT 8IBU w "MMPXGPS f i OFHSBJOFETDPQJOHPG UBTLTXJUIJOTVDIOVSTFSZ w 0OFNBZBEEBUBTLGPSFBDIFMFNFOU

    PGBEZOBNJDBMMZTJ[FEDPMMFDUJPOUPB OVSTFSZBOEIBWFUIFNBMMCFCPVOE UPUIFOVSTFSZMJGFDZDMF
  38. w 5IF5BTL)BOEMFSFUVSOFEGSPNUIFSVO%FUBDIFEGVODUJPO TFSWFTBTBSFGFSFODFUPBOJO f l JHIU5BTL BMMPXJOHFJUIFS BXBJUJOHPSDBODFMMJOHUIFUBTL w 5IFHFU

    GVODUJPOJTBMXBZTUISPXJOH FWFOJGUIFUBTLTDPEF JTOPU BMTPUIF$BODFMMBUJPO&SSPS TPBXBJUJOHPOB IBOEMFHFU JTBMXBZTUISPXJOH FWFOJGUIFXSBQQFE PQFSBUJPOXBTOPUUISPXJOHJUTFMG %FUBDIFE5BTLT 8IBU
  39. w 5IFMPXMFWFMFYFDVUJPOPGBTZODISPOPVT DPEFPDDBTJPOBMMZSFRVJSFTFTDBQJOHUIF IJHIMFWFMBCTUSBDUJPOPGBOBTZOD GVODUJPOTBOEOVSTFSJFT w *UJTJNQPSUBOUUPFOBCMF"1*TUPJOUFSBDU XJUIFYJTUJOHOPO async DPEFZFUTUJMMCFBCMF

    UPQSFTFOUUPUIFVTFSTPGTVDI"1*B QMFBTBOUUPVTFBTZODGVODUJPOCBTFE JOUFSGBDF -PXMFWFMDPEFBOEJOUFHSBUJOHXJUIMFHBDZ "1*TXJUI6OTBGF$POUJOVBUJPO 8IBU
  40. -PXMFWFMDPEFBOEJOUFHSBUJOHXJUIMFHBDZ "1*TXJUI6OTBGF$POUJOVBUJPO 3VMF w 5IFSFTVNFGVODUJPONVTUPOMZCFDBMMFEFYBDUMZ PODFPOFBDIFYFDVUJPOQBUIUIFPQFSBUJPONBZUBLF JODMVEJOHBOZFSSPSIBOEMJOHQBUIT  w 5IFSFTVNFGVODUJPONVTUCFDBMMFEFYBDUMZBU

    UIFFOEPGUIFPQFSBUJPOGVODUJPOTFYFDVUJPO PUIFSXJTF PSFMTFJUXJMMCFJNQPTTJCMFUPEF f i OFVTFGVMTFNBOUJDT GPSDBQUVSFTJOUIFPQFSBUJPOGVODUJPO XIJDIDPVME PUIFSXJTFSVODPODVSSFOUMZXJUIUIFDPOUJOVBUJPO VOGPSUVOBUFMZ UIJTVOBWPJEBCMZJOUSPEVDFTTPNF PWFSIFBEUPUIFVTFPGUIFTFDPOUJOVBUJPOT
  41. w "DUPSTQSPWJEFBNPEFMGPSCVJMEJOH DPODVSSFOUQSPHSBNTUIBUBSFGSFFPGEBUB SBDFT EBUBJTPMBUJPO  w &BDIBDUPSQSPUFDUTJTPXOJOTUBODFEBUB  FOTVSJOHUIBUPOMZBTJOHMFUISFBEXJMMBDDFTT

    UIBUEBUBBUBHJWFOUJNF w 4IJGUUIFXBZPGUIJOLJOHBCPVUDPODVSSFODZ GSPNSBXUISFBEJOHUPBDUPSTBOEQVUGPDVTPO BDUPSTPXOJOHUIFJSMPDBMTUBUF 8IBU
  42. .PUJWBUJPO 8IZOFFE  %FBMJOHXJUIEBUBSBDFT w 0OFPGUIFNPSFEJGGJDVMUQSPCMFNTJOEFWFMPQJOH DPODVSSFOUQSPHSBNT w "EBUBSBDFPDDVSTXIFOUIFTBNFEBUBJONFNPSZJT BDDFTTFECZUXPDPODVSSFOUMZFYFDVUJOHUISFBET

    BUMFBTU POFPGXIJDIJTXSJUJOHUPUIBUNFNPSZ MFBETUPTQVSJPVT DSBTIFT QSPHSBNFSSPSTEVFUPDPSSVQUFEJOUFSOBMTUBUF  BOETPPOʜ  w )BSEUPSFQSPEVDFBOEEFCVH CFDBVTFUIFZPGUFOEFQFOE POUXPUISFBETHFUUJOHTDIFEVMFEJOBQBSUJDVMBSXBZ
  43. "DUPSDMBTTFT 
 #FIBWFMJLFDMBTTFT w $BOJOIFSJU GSPNPUIFSBDUPSDMBTTFT  w )BWFNFUIPET QSPQFSUJFT

    BOETVCTDSJQUT w $BOCFFYUFOEFEBOEDPOGPSNUPQSPUPDPMT CF HFOFSJD BOECFVTFEXJUIHFOFSJDT
  44. "DUPSJTPMBUJPO 
 0OMZBMMPXJOHUIFJSTUPSFEJOTUBODFQSPQFSUJFTUPCFBDDFTTFE EJSFDUMZPOTFMG w 4UPSFEQSPQFSUJFT DPNQVUFEQSPQFSUJFT TVCTDSJQUT BOETZODISPOPVT JOTUBODFNFUIPETJOBOBDUPSDMBTTBSFBMMBDUPSJTPMBUFECZEFGBVMU

    w 5IFSFGFSFODFUPPUIFSPXOFS/BNFJTBMMPXFE CFDBVTFJUJTJNNVUBCMF EF f i OFECZMFU 
 ˞$POTUBOUTEF f i OFECZMFUBSFPOMZUSVMZJNNVUBCMFXIFOUIFUZQFJTB WBMVFUZQFPSTPNFLJOEPGJNNVUBCMFSFGFSFODFUZQF MFUJT0, WBSJT/( IUUQTGPSVNTTXJGUPSHUWBMVFTFNBOUJDQSPUPDPM
  45. "DUPSJTPMBUJPO 
 $MPTVSFT w 0ODFUIFDMPTVSFJTGPSNFEBOEQBTTFEP f f UPBGVODUJPO OP MPOHFSIBWFDPOUSPMPWFSXIFOBOEIPXUIFDMPTVSFJT

    FYFDVUFE w 8FLOPXUIBUGPS&BDIJTBTZODISPOPVTGVODUJPOUIBU JOWPLFTUIFDMPTVSFPOTVDDFTTJWFFMFNFOUTJOUIFTFRVFODF *UJTOPUDPODVSSFOU  BOEUIFDPEFXPVMECFTBGF
  46. "DUPSJTPMBUJPO 
 &TDBQJOHSFGFSFODFUZQFT w 5IFBDUPSJTPMBUJPOSVMFTQSFTFOUFEJOUIJT QSPQPTBMBSFPOMZTV f f i DJFOUGPSWBMVFUZQFT

    
 ˞8JUIBWBMVFUZQF BOZDPQZPGUIFWBMVFQSPEVDFTBDPNQMFUFMZ JOEFQFOEFOUJOTUBODF.PEJ f i DBUJPOTUPUIBUJOEFQFOEFOUJOTUBODFDBOOPU B f f FDUUIFPSJHJOBM BOEWJDFWFSTB w 3FGFSFODFUZQFTCSFBLUIFJTPMBUJPONPEFM  CFDBVTFNVUBUJPOTUPBDPQZPGBWBMVFPG SFGFSFODFUZQFDBOB f f FDUUIFPSJHJOBM BOEWJDF WFSTB
  47. w 5IFNPNFOUPOFPGUIFJOTUBODFTPG5SBOTBDUJPOGSPNUIF USBOTBDUJPOTBSSBZFTDBQFTUIFBDUPSTDPOUFYU EBUBJTPMBUJPOJT MPTU w $BOCPUINPEJGZUIFBDUPSJTPMBUFETUBUFCZEJSFDUMZNPEJGZJOH UIF f i

    FMETPGUSBOTBDUJPO BTXFMMBTTFFBOZDIBOHFTUIBUUIF BDUPSIBTNBEFUPUIFUSBOTBDUJPO "DUPSJTPMBUJPO 
 &TDBQJOHSFGFSFODFUZQFT 8BSOJOH